[字号:  ]

关于PHP EACH遍历二维数组问题?

发布时间:2008-11-16 23:09   作者: guangxian0215   信息来源: PHPChina 开源社区门户
$arr2=array(array(1,2,3,1),array(1,1,"one"=>"ONE","two"=>"TWO",4,5,6,7));

echo "EACH二维数组的循环";
echo "<br>";
while($k=each($arr2))
{
while($v=each($k))
{
  echo "\$arr2[".$k['key']."][".$v['key']."]=".$v['value'];
  echo "<br>";
}
}

结果是:
EACH二维数组的循环
$arr2[0][1]=Array
$arr2[0][value]=Array
$arr2[0][0]=0
$arr2[0][key]=0
$arr2[1][1]=Array
$arr2[1][value]=Array
$arr2[1][0]=1
$arr2[1][key]=1

?
这是怎么回事

最新回复

某个人 at 2008-11-16 23:13:39
数组是echo不出来的。。
guangxian0215 at 2008-11-16 23:48:29
不是吧,这只是输出下标和值吧.并不是输入出数组吧

下面的例子可以运行的:
while($k=each($arr))
{
        echo '$arr['.$k[0]."]=".$k[1];
        echo '<br>';
}
我用一维数组的都行,不知道二维数组怎么回事,是不是EACH,每运行一次就往下移一次还是什么原因.
konakona at 2008-11-17 00:47:59
你在输出数组里的内容,echo是不会理解这个重要的关键的。
dongxin1390008 at 2008-11-17 08:06:52
建议看看帮助手册
dongxin1390008 at 2008-11-17 08:18:48
wukewei00o at 2008-11-17 08:47:07
一维数组输出的是值
追梦ren at 2008-11-17 09:44:18
echo "\$arr2[".$k['key']."][".$v['key']."]=".$v['value'];
用each是得不到值的,,它返回的是array 。
--------------------------------------------------------------------------
说明
array each ( array array)


返回 array 数组中当前指针位置的键/值对并向前移动数组指针。键值对被返回为四个单元的数组,键名为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。
guangxian0215 at 2008-11-17 20:52:36
嗯,我明白了,谢谢大家的帮助