PHP-php数组循环输出问题
<?php
$arr1[2] = 'zhukai';
$arr1[1] = 2007;
$arr1[0] = 2008;
foreach ($arr1 as $key => $val) {
echo $key.",".$val;
}
?>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
<?php
$arr1[2] = 'zhukai';
$arr1[1] = 2007;
$arr1[0] = 2008;
foreach ($arr1 as $key => $val) {
echo $key.",".$val;
}
?>
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
我认为应该是按数组元素的存储顺序输出,而不是按键值大小来输出,所以会有那样的结果。
如果不了解php数组的内部实现结构,这个看似简单,几乎为常识的问题,还真回答不出来,
找到一篇相关文章 :深入理解PHP之数组(遍历顺序)
php的数组输出顺序是按照你入栈的顺序输出的,指针是从栈口一直往下读的,你要想它先读$arr1[0]的话,可以使用ksort()函数来先对数组进行排序
在php中,元素在线性遍历的时候是根据插入的先后顺序来遍历的。当使用数字索引时, 元素的先后顺序是由添加的顺序决定的,而不是索引顺序。 所以foreach遍历数组的顺序, 是和元素的添加先后相关的。
foreach根据数组内部的指针位置确定输出的元素,而不是按下标来输出元素。