2013-04-16 63 views
0
$icecream = array (
    "Choco" => array('2 Dollars'), 
    "Mango" => array('3 Dollars') 
); 

打印$冰淇淋[0] [0];PHP Mutliarray鍵和值打印

預期輸出: 2美元

編輯:我有一個巨大的冰淇淋種類列表,我想使用一個循環輸出所有的信息作爲HTML DOM。所以我不想通過每個數組值並用顯式值(即'Choco','Orange'等等)回顯它。

我想用值鍵「第一陣列級別」($冰淇淋[0]),

它確實輸出什麼都沒有。這個解決方案的邏輯缺陷是什麼?

+2

你要打印$ icecream [「Choco」] [0](你有密鑰名,所以你不能訪問它的位置號碼) – Svetoslav

回答

6

試試這個:

echo $icecream['Choco'][0]

你這裏的問題是,要求第一錯鍵暗淡

。 。

爲您更新的問題,試試這個:

$ice_k = array_keys($icecream); 
echo $icecream[$ice_k[0]][0]; 
+0

我編輯了問題以提供必要的上下文。我很抱歉給您造成不便。 – Tomkay

+0

現在確定您的問題。查看更新回答 –

+1

@RaheelHasan +1爲體育道德,幫助兩次,讓用戶滿意。 –

0

您沒有使用關聯數組權利。您需要使用正確的密鑰。

echo $icecream['choco'][0]; 
+0

但是如果數組的第一項會改變它的名字呢?我不能依賴明確的價值。我不能使用第一個數組項的位置嗎? – Tomkay

+0

但是你怎麼知道哪個位置是什麼味道?最邏輯的事情是給他們一個永不改變的ID和一個可能改變的名字。 – user2285451

0

您可以使用位置,但它會是這樣一個計數器:

$counter = 0; 
foreach($icecream As $k=>$v) { 
    echo $icecream[$k][0] . ' [' . $counter . ']'; 
    $counter++; 
} 

,如果你想獲得唯一的價值,你可以使用以前的代碼

$ice_k = array_keys($icecream); 
$position = 5; 
if(isset($ice_k[$position])) { 
    echo $icecream[$ice_k[$position]][0]; 
}