2015-02-06 51 views
0

我有一個向用戶顯示在一個表中,在那裏他們可以選擇通過複選框項的多維數組。比較2個陣列並獲得匹配的項目

時,他們已經檢查了他們的項目,並提交,現在我已經得到了對應於原始子陣列的身份識別碼密鑰ID值的數組。

如何搜索原始數組,並創建只有匹配所選項目的一個新的陣列?

Array ( 
[0] => Array ( 
[myid] => 22 
[Price] => Some price 
[Title] => Some text 
) 
[1] => Array ( 
[myid] => 36 
[Price] => Some price 
[Title] => Some text 
) 
) 

任何幫助將不勝感激!

+0

喜歡的東西array_intersect()? http://php.net/manual/en/function.array-intersect.php – dukevin 2015-02-06 12:34:18

回答

0

簡單的方式,但可以進行優化

<?php 
$submittedVaule = array('12','14'); 
$subArray = array(0 => array('myid' => 12,'price' => '100','title' => 'test1'),1 => array('myid' => 13,'price' => '100','title' => 'test2'),2 => array('myid' => 14,'price' => '100','title' => 'test3')); 

$finalarray = array(); 
foreach($subArray as $key=>$value){ 

    if(in_array($value['myid'], $submittedVaule)) { 

    $finalarray[]=$subArray[$key]; 
    } 
} 

print_r($finalarray); 
?> 
+1

太棒了,它正常工作就像我想要的一樣!謝謝! :) – 2015-02-06 12:57:26