加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 21:56:41 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试使用foreach循环迭代数组中的每个项目,但它只捕获最后一项而不是迭代第一项.我已经删除了代码以仅显示相关部分并添加了一些命令来识别上述问题. $message == "kk,ll";$myArray = explode(',',$message);print_r ($myArray);foreach ($myArray as $
我正在尝试使用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,$message);
print_r ($myArray);
foreach ($myArray as $value) {   
    echo "$value <br>";
    $array[] = $value;
}
print_r ($array);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读