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);

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...