我试图遍历一个数组,每次都向另一个数组添加新级别.让我说明一下-变量$arr的值每次都不同
$arr = array("1","5","6");
循环
$index[$arr[0]];
循环
$index["1"][$arr[1]] // "1" since this key was filled in by the previous loop, continuing with a new key
循环
$index["1"]["5"][$arr[2]] // same as previous loop
-遍历$arr的所有项目,完成,结果为$index [“ 1”] [“ 5”] [“ 6”]-
问题是我不知道$arr数组包含多少值.然后,当$arr的第一个值循环到下一个数组级别(换句话说:添加另一个键)时,我不知道如何从$index [“ 1”]继续.
任何人?
解决方法:
您可以在此处使用参考:
$a = array("1","5","6");
$b = array();
$c =& $b;
foreach ($a as $k) {
$c[$k] = array();
$c =& $c[$k];
}
输出
Array
(
[1] => Array
(
[5] => Array
(
[6] => Array
(
)
)
)
)
要用其他值覆盖最后一个元素,只需添加以下行:
$c = 'blubber';
循环结束后,因为$c是对循环最深的数组级别的引用,所以在循环结束时.