数组1
Array
(
[0] => Array
(
[prid] => 110
[size_id] => 24
)
[1] => Array
(
[prid] => 117
[size_id] => 24
)
[2] => Array
(
[prid] => 174
[size_id] => 24
)
)
数组2
Array
(
[0] => Array
(
[prid] => 174
[size_id] => 24
)
[1] => Array
(
[prid] => 174
[size_id] => 25
)
[2] => Array
(
[prid] => 163
[size_id] => 24
)
)
我有 2 个多维数组。我想比较两个数组,并且结果数组两者都相等。 (即)答案是
[prid] => 174
[size_id] => 24
注意:-我正在使用array_intersect_assoc()
,但不起作用
我们如何检索这个???
请说出这个问题的答案
最佳答案
您可以使用foreach()
和array_column()
来比较第二个数组值与第一个数组
$final_array = [];
foreach($array2 as $arr){
if(in_array($arr['prid'],array_column($array1,'prid')) && in_array($arr['size_id'],array_column($array1,'size_id'))){
$final_array[$arr['prid']] = $arr;
}
}
$final_array = array_values($final_array);
print_r($final_array);
使用 array_intersect()
和 array_column()
的另一个更简单的解决方案
$final_array = [];
$common_array = array_intersect (array_column($array1,'prid'),array_column($array2,'prid'));
foreach($common_array as $key=>$val){
$final_array[] = $array1[$key];
}
print_r($final_array);
关于php 比较多维数组是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49506906/