微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Foreach仅显示数组中的最后一项

我正在尝试使用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为$value);

这样做,foreach循环将运行,但{}内的代码实际上放在foreach循环之外,从而导致$value仅存储数组的最后一个元素.

代码应该如下所示:

$message = "kk,ll";
$myArray = explode(',', $message);
print_r ($myArray);
foreach ($myArray as $value) {   
    echo "$value <br>";
    $array[] = $value;
}
print_r ($array);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐