2017-03-24 52 views
-2

如何檢查多維數組中是否存在值,然後從該匹配中回顯值?如何匹配數組,然後只從匹配的ID中的數組中回顯值?

in_array在這種情況下會工作嗎?

$types = array(
    '0' => array(
     'id' => '10', 
     'file' => 'bike.png', 
    ), 
    '1' => array(
     'id' => '20', 
     'file' => 'car.png', 
    ), 
    '2' => array(
     'id' => '30', 
     'file' => 'plane.png', 
    ) 
); 

$matches = array('10','20'); 

types = 10, 20, 30 
matches = 10, 20 

由於10和20匹配,echo bike.png和car.png。

回答

2

循環訪問陣列並檢查產品ID是否存在於第二個數組中。

foreach ($types as $sub) 
{ 
    if(in_array($sub["id"],$matches)) 
    echo $sub["file"]; 
} 

Fiddle

+0

謝謝手帕! – iBrazilian2

+0

不客氣。附註:你不需要在數字附近加引號 –

+0

對不起,如果在這種情況下$匹配報告爲NULL,因爲它將數據作爲目標值,但是?我需要第一個foreach,但是我不能在這種情況下使用in_array,那麼我是否正確? https://eval.in/760459 – iBrazilian2