2013-06-05 201 views
-2

后访问元素多维数组我有一个数组如何初始化

$array = [ [1,2], [3,4] ]; 

我初始化:

$array[0][1] = array(); 
$array[0][0] = array(); 

print_r($array[0][1] = [ 2 => $array[0][0] ]); 

输出为:

Array 
(
    [2] => Array 
     (
     ) 

) 

但是当我尝试,print_r($array[0][1] = [$array[0][0] => $array[0][0] ]); 它不会像以前那样输出。发生什么事了?

+2

你会期望*这个无意义代码的输出是什么? – deceze

+0

你的数组是$ array,所以$ data是从哪里来的? – 2013-06-05 09:02:03

+0

我想输出为Array([2] => Array([4] => {})) – user2429302

回答

1

在php中,赋值返回赋值。

首先

$data[0][1] = [ 2 => $data[0][0] ]) 

将返回

array (
    2 => array() 
) 

**秒**

$data[0][1] = [ $array[0][0] => $data[0][0] ] 

将返回

array (
    array() => array() 
) 

在PHP中,您只能使用整数和字符串作为键。这不符合规定并且是错误的。