2013-09-25 72 views
3

我需要一些幫助的特定值,搜索多維數組

下面的示例陣列,反映現實生活中的案例:

$a = array (
    array('fruit' => 'banana', 'color' => 'yellow'), 
    array('fruit' => 'apple', 'color' => 'red'), 
    array('fruit' => 'melon', 'color' => 'green') 
); 

$key = array_search('apple', $a, true); 
echo $a[$key]['color']; 

我已經嘗試過在希望我能得到使用array_search檢索關鍵關鍵但它不能工作,所以我應該如何編碼,當我想檢索蘋果的顏色?

PS:我試圖避免循環,由於大數據表現

回答

3
// loop throgh array 
    foreach ($a as $item){ 
     if ($item['fruit'] === 'apple'){ 
     echo $item['color']; 
     } 
    } 
+0

任何可能withou t循環(我避免) – Dels

+0

道歉的拼寫錯誤,第一行應該說「通過數組循環」 – PiX06

1

嘗試改變你這樣的表:

<?php 
$a = array ( 
    'banana' => array('color' => 'yellow'), 
    'apple' => array('color' => 'red'), 
    'melon' => array('color' => 'green'), 
); 

echo $a['banana']['color']; 

?> 

應該簡單:)

+0

這是不可能的目前,數據以上僅用於實際使用的例子 – Dels

+1

恐怕你將不得不使用從PiX06循環例如:( – Adam

1

檢查這出 -

foreach ($a as &$arr){ 
if (array_search('apple',$arr)!==false){ 
    echo $arr['color']; 
} 
} 
+0

以上相同的答案 – Dels

+0

@戴爾,檢查這一個... – NavaStha