2013-07-15 43 views
0

我想查找一個條目是否已經在一個數組中,但是這個數組是一個多維的關聯數組,並且我無法繞過它。在多級關聯數組中找到一個條目

$products = array(); 
$products[] = array('product_name'=>'Burton Jacket','product_id'=>'33','product_price'=>'$342'); 
$products[] = array('product_name'=>'Burton Bindings','product_id'=>'41','product_price'=>'$732'); 
$products[] = array('product_name'=>'Bonfire Pants','product_id'=>'141','product_price'=>'$31'); 


if (in_array(array('product_id'=>'33'),$products)) echo 'in'; 
else echo 'not in'; 

所以我試圖找到產品ID是否已經包含在數組中,但不能解決如何到達那裏。我感覺我很接近。

回答

2

您可以循環,並找到元素你想要的:

$found = false; 
foreach ($products as $prod) { 
    if ($prod['product_id'] == 33) { 
     $found = true; 
     break; 
    } 
} 
if ($found) 
    echo 'in'; 
else 
    echo 'not in'; 
+0

哦,對了,肯定會工作,但有一個更簡單的方法? – Source

+1

'in_array'不適用於多維數組。 – jh314

+0

我應該在那裏使用end()函數,如果找到數組?或者它破裂了? – Source

相關問題