我正在尝试使用PHP中的foreach
语句编写下面的代码。我刚开始使用PHP,所以还在学习。
$myarray = array ("Hello World", "Hello Tree", "Hello, Proc!");
for($i = 0; $i < count($myarray); $i++) {
$myarray[$i] .= " ($i)";
}
我该怎么做?
答案 0 :(得分:4)
$myarray = array ("Hello World", "Hello Tree", "Hello, Proc!");
foreach($myarray as $key => &$item) {
$item .= " ($key)";
}
&$item
使$ item成为指针,而不是数组项的副本。因此,您对$ item所做的任何更改都将反映在原始版本中。 $key
等同于您的数组索引计数器$i
。有关详细信息,请参阅foreach参考。
答案 1 :(得分:2)
$myarray = array ("Hello World", "Hello Tree", "Hello, Proc!");
$i = 0;
foreach($myarray as $arrayElement) {
$i++; //Foreach item in the array it adds 1 to the variable i.
$myarray[$i] = " $i"; //it sets the element[i] to the value of i
echo $myarray[$i]; //it displays your array on the screen
}
这很长(但我认为很容易)这样做,我不推荐这种方式(使用$ key)但你可以使用它来存储变量中的所有内容,以便知道你在做什么,直到你真的了解循环。
答案 2 :(得分:1)
如果用FOREACH循环替换FOR循环,它将如下所示:
$myarray = array ("Hello World", "Hello Tree", "Hello, Proc!");
foreach ($myarray as $key => $value) {
$myarray[$key] .= " ($key)";
}
有关foreach的更多信息,请查看the official documentation。
答案 3 :(得分:1)
这是你想要的。
$myarray = array ("Hello World", "Hello Tree", "Hello, Proc!");
foreach($myarray as $key => $value) {
$myarray[$key].= " ($key)";
}
解释:
$key
等同于您的数组索引计数器$i
,$value
是数组$myarray
的值。有关详细信息,请参阅this