为什么用foreach输出的结果是倒序的?请给高手帮忙,谢谢。 $str = "A/B/C";list($a[0], $a[1], $a[2]) = split('[/]', $str);echo "$a[0], $a[1], $a[2]<br />";foreach($a as $vv){ echo $vv . "<br />";}输出的结果如下所示:A, B, CCBA不知道为什么是这样的结果,请各位高手帮忙解答,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 list() 从最右边一个参数开始赋值。 那为什么用echo "$a[0], $a[1], $a[2]<br />";分别输出每个变量时,顺序是正确的呢?谢谢 list() 从最右边一个参数开始赋值。 最右边一个参数开始赋值的意思是$a[2]="C";$a[1]="B";$a[0]="A"; php数组的健名不能代表顺序。数组是从$a[2]开始添加的 关键是用完list()后 数组指针指向了最后一个元素foreach()遍历数组的时候相当于每次next($arr)$str = "A/B/C";list($a[0], $a[1], $a[2]) = split('[/]', $str);echo "$a[0], $a[1], $a[2]<br />";next($a);print_r(each($a));next($a);print_r(each($a));foreach($a as $vv){ echo $vv . "<br />";}执行完这个你就明白了 <?php$str = "A/B/C"; list($a[0], $a[1], $a[2]) = split('[/]', $str); echo "$a[0], $a[1], $a[2]<br />";print_r($a); //确实是先给右边的赋值 ksort ($a); //如果楼主希望按键值排序,请这样处理print_r($a);?> 没错,再加上php的数组底层是利用hash 链表实现的所以$a[2]加在了链表的head位置,$a[0]是tail位置foreach 从 head -> tail 遍历。 $str = "A/B/C";$p = split('[/]', $str);foreach($p as $v){ echo $v . "<br />";} php上怎么用kindedit上传数据到mysql 在TP开发中为什么我定义了连接Pgsql数据库但是还是默认执行连接MySql php中的copy()命令是否支持映射盘符? 如何使ajax 返回php创建的二进制图像 并显示 frameset 显示空白是怎么回事啊 如何在一个页面中区分两个submit的事件? php页面post提交后的错误提示 学习php的一个缺点:主机提供比asp的少多了 [[[[ 各位高手,进者有分,高难度问题,分不够在加 ]]]] php目录问题(linux): 如何只取字符串里面的数值类字符 急 有熟悉Kohana框架的吗?
分别输出每个变量时,顺序是正确的呢?谢谢
$a[2]="C";
$a[1]="B";
$a[0]="A";
foreach()遍历数组的时候相当于每次next($arr)
$str = "A/B/C";
list($a[0], $a[1], $a[2]) = split('[/]', $str);
echo "$a[0], $a[1], $a[2]<br />";
next($a);
print_r(each($a));
next($a);
print_r(each($a));
foreach($a as $vv)
{
echo $vv . "<br />";
}
执行完这个你就明白了
$str = "A/B/C"; list($a[0], $a[1], $a[2]) = split('[/]', $str); echo "$a[0], $a[1], $a[2]<br />";
print_r($a); //确实是先给右边的赋值 ksort ($a); //如果楼主希望按键值排序,请这样处理
print_r($a);
?>
所以$a[2]加在了链表的head位置,$a[0]是tail位置foreach 从 head -> tail 遍历。
$p = split('[/]', $str);
foreach($p as $v)
{
echo $v . "<br />";
}