我有兩個數組。其中之一是多維陣列,例如PHP - array_diff一個多維數組和一個平面數組
$products = array(
0 => array(
'product_id' => 33,
'variation_id' => 0,
'product_price' => 500.00
),
1 => array(
'product_id' => 45,
'variation_id' => 0,
'product_price' => 600.00
),
2 => array(
'product_id' => 48,
'variation_id' => 0,
'product_price' => 600.00
),
3 => array(
'product_id' => 49,
'variation_id' => 0,
'product_price' => 600.00
)
);
,我有一個平坦的陣列
$missingItems= array(49,33);
我想從$刪除項目的產品,他們的product_id
是在陣列missingItems
字符串。
$diff = array();
foreach ($missingItems as $missingItem) {
foreach ($products as $product) {
if($missingItem != $product['product_id']){
$diff[] = $missingItem;
}
}
}
echo '<pre>';
print_r($diff);
echo '</pre>';
當我這樣做時,所有的值都被重複多次。例如如果我在我的第一個數組中有4個項目,而我的第二個項目中有兩個。共有8個結果。我只想出現2個,即不存在於第二個數組中的那些。
當我有兩個平面陣列我使用array_diff
,但我不知道如何使用它在這種情況下,我有一個多維數組和平面數組。
在你的輸出陣列,它應該返回與主鍵1和2的多維陣列?並刪除0和3? –