我想相互比较两个数组,并从第一个数组中删除两个数组中都不存在的所有对象。
//array1
$apiData1 = [
'test1' => ["Volvo", "BMW", "Toyota"],
'test2' => ["Volvo", "BMW", "Toyota"],
'test3' => ["Volvo", "BMW", "Toyota"],
'test4' => ["Volvo", "BMW", "Toyota"],
'AAAAAAAAAAAAAAA' => ["Volvo", "BMW", "Toyota"],
];
// ======================
//array2
$apiData2 = [
'test1' => ["Volvo", "BMW", "Toyota"],
'test2' => ["Volvo", "BMW", "Toyota"],
'test3' => ["Volvo", "BMW", "Toyota"],
'test4' => ["Volvo", "BMW", "Toyota"],
'BBBBBBBBBBBBBBB' => ["Volvo", "BMW", "Toyota"],
];
结果应为不带有“ AAAAAAAAAAAAAAA”对象的array1。
//array1
$apiData1 = [
'test1' => ["Volvo", "BMW", "Toyota"],
'test2' => ["Volvo", "BMW", "Toyota"],
'test3' => ["Volvo", "BMW", "Toyota"],
'test4' => ["Volvo", "BMW", "Toyota"],
];
我试过的
foreach ($apiData2 as $key => $value) {
if ((isset($apiData1[$key]) && !isset($apiData2[$key])) || (!isset($apiData1[$key]) && isset($apiData2[$key]))) {
unset($apiData1[$key]);
}
}
您正在寻找array_intersect_key。它需要两个或多个数组,并返回一个包含第一个数组元素的新数组,该数组的键存在于所有提供的数组中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句