2013-06-05 200 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中,您只能使用整數和字符串作爲鍵。這不符合規定並且是錯誤的。