发布网友 发布时间:2022-04-23 18:11
共3个回答
热心网友 时间:2023-05-25 04:52
第二个写法是对的,循环时候$value的值分别为数组的每个值,结果也和你想象的相同。
注意你的第一个写法,循环是对的,每次循环时$value的值分别是数组的每个值,也就是1、2、3、4、5(字符串,我省略了引号),但是你在循环体里面不是输出每个$value,而是输出$arr[$value],你这个写法不正常,或者按照一般人的理解你这个写法是错误的。电脑不知道你错了,仍然严格按照要求输出$arr[$value]的值,实际$arr的下标是从0~4,所以输出2~5和一个空。
热心网友 时间:2023-05-25 04:52
我先解释上边为什么显示2 3 4 5,因为你的$value的值是1 2 3 4 5所以当
$arr[$value]分别是:$arr['1'] $arr['2'] $arr['3'] $arr['4'] $arr['5']
对应的是:2 3 4 5 空
而下边的你是直接输出$value.所以不存在问题。
你问题出现的原因是:数组的键值是从0开始的。
希望能帮助到你...
热心网友 时间:2023-05-25 04:53
foreach($arr as $k=>$v)
{
echo $v;显示所有值
echo $arr[$k];同上
}
foreach($arr as $v)
{
echo $v;显示所有值
}