2013-03-08 63 views
0

我正在嘗試創建一個3級數組,然後檢索第3級數組數據,但不知何故,我得到了這個。關於數組/關聯數組的問題

$project = array(); 
$project[] = "name"; 
$project[] = "id"; 
$project["id"] = "AXA"; 
$project["id"]["AXA"] = "a new project"; 
echo $project["id"]["AXA"]; 

結果我得到的是a這些來自a new project

怎樣才能把整個字符串?

+0

'$項目[] = 「ID」'分配實際上意味着'$項目[1] =「ID 「'所以如果你想設置它像'$ project ['id'] = array()',只需使用像$ project = array('id'=> array('AXA'= >'一個新項目')); ' – zgr024 2013-03-08 03:20:45

回答

0

這是你的代碼的var_dump

array(3) { 
    [0]=> 
    string(4) "name" 
    [1]=> 
    string(2) "id" 
    ["id"]=> 
    string(3) "aXA" 
}

你不是實際創建一個新的水平。什麼,你需要做的是初始化第2個數組:

$project = array(); 
$project[] = "name"; 
$project[] = "id"; 
$project["id"] = array(); //here 
$project["id"]["AXA"] = "a new project"; 

否則,它會寫在價值AXA

array(3) { 
    [0]=> 
    string(4) "name" 
    [1]=> 
    string(2) "id" 
    ["id"]=> 
    array(1) { 
    ["AXA"]=> 
    string(13) "a new project" 
    } 
}
1

你的代碼應該只使用一個多維數組像下面

$project = array (
    'name', 
    'id'=>array(
     'AXA'=>'a new project' 
    ) 
);