我试图创建一个 foreach 循环来迭代数组中的每个项目,但它只捕获最后一个项目,而不迭代第一个项目。我已经剥离了代码,仅显示相关部分,并添加了一些命令来识别问题,如上所述。
$message == "kk,ll";
$myArray = explode(',', $message);
print_r ($myArray);
foreach ($myArray as $value);
{
echo "$value <br>";
$array[] = $value;
}
print_r ($array);
输出是:
Array ( [0] => kk [1] => ll ) ll
Array ( [0] => ll )
你可以看到当我使用print_r()
该数组包含两项。但是foreach
循环仅循环最后一项。将数组元素添加到循环内的新数组中也会得到一个仅包含最后一个元素的数组。我究竟做错了什么?
您的代码中有两个错误:
在第一行中,有两个等号,但应该只有一个。
在 foreach 循环中,您错误地在末尾添加了分号:
foreach ($myArray as $value);
这样做, foreach 循环将运行,但是 foreach 循环中的代码{}
实际上被放置在 foreach 循环之外,从而导致$value
仅存储数组的最后一个元素。
代码应该如下所示:
$message = "kk,ll";
$myArray = explode(',', $message);
print_r ($myArray);
foreach ($myArray as $value) {
echo "$value <br>";
$array[] = $value;
}
print_r ($array);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)