我有兩個數組:PHP陣列搜索和刪除
陣列1:
Array ([0] => Array ([id] => et1 [supplier_id] => 4 [supplier_product_code] => 00054X [is_active] => 1)
[1] => Array ([id] => et2 [supplier_id] => 4 [supplier_product_code] => 000558 [is_active] => 1)
[2] => Array ([id] => et3 [supplier_id] => 5 [supplier_product_code] => 00054X [is_active] => 1));
陣列2:
Array ([0] => Array ([id] => et1 [same_sku] => et3);
我需要從數組2刪除所有same_skus在陣列1。
所以從我的結果數組我需要陣列1是:
Array ([0] => Array ([id] => et1 [supplier_id] => 4 [supplier_product_code] => 00054X [is_active] => 1)
[1] => Array ([id] => et2 [supplier_id] => 4 [supplier_product_code] => 000558 [is_active] => 1));
代碼,我現在所擁有的不工作。
public function search_array($array, $val)
{
foreach ($array as $key => $row)
{
if ($row['id'] === $val)
{
return $key;
}
}
}
foreach($array2->result() as $row)
{
$id = $row->id;
$same_sku = $row->same_sku;
$key = $this->search_array($array1, $id);
if(!empty($key))
{
$same_sku_key = $this->search_array($array1, $same_sku);
if(!empty($same_sku_key))
unset($array1[$same_sku_key]);
}
}
到目前爲止你累了什麼?你能分享你的代碼嗎? – Nirnae
@Nirnae我已經添加了我累了的東西 – user4676307
您是否試圖組合這兩個數組並刪除重複值? – commanderZiltoid