2009-10-02 121 views
0

我有一个数组声明在for循环的开头之上:$array = array();。 现在,在for循环中,我开始向其中插入值。 在某些时候,我把它的一个索引作为另一个数组,如$array[$j]=array(); 并插入一些值,如$array[$j][$l] = id;等。PHP多维数组

现在,当我在循环内使用print_r ($array);时,我得到了数组的期望值。 但是在循环之外,这个新创建的数组(2-D)正在消失,我只得到一个1-D数组作为输出。

有人可以告诉我问题可能出在哪里吗?

+7

我们可以看到你的代码吗? – ceejayoz 2009-10-02 20:23:32

+5

这很可能是因为'$ j'使用了相同的值,因此覆盖了数组的一部分(如果我正确地理解了这个问题)。 – strager 2009-10-02 20:25:18

+0

@Strager:非常感谢您指出问题所在。我无法找到它,可能是因为我从来没有这样想过。再次感谢! :) – mkamthan 2009-10-02 21:06:50

回答

4

以下代码正常工作。也许你正在改变你的变数。

<?php 
$array = array(); 

for ($i = 0; $i < 10; $i+=1) { 
    if ($i == 5) { 
     $array[$i] = array('value 1', 'value 2'); 
    } else { 
     $array[$i] = $i; 
    } 
} 

print_r($array); 
?>