PHP比较两个多维数组
我有两个这样的多维数组: 来宾允许数组PHP比较两个多维数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有两个这样的多维数组: 来宾允许数组 Array ( [0] => 5 [1] => 2 [2] => 3 ) 第二个是这样的 Array ( [0] => Array ( [property_id] => 6 [guest_allow] => 2 ) [1] => Array ( [
Array
(
[0] => 5
[1] => 2
[2] => 3
)
第二个是这样的
Array
(
[0] => Array
(
[property_id] => 6
[guest_allow] => 2
)
[1] => Array
(
[property_id] => 9
[guest_allow] => 3
)
[2] => Array
(
[property_id] => 62
[guest_allow] => 2
)
[3] => Array
(
[property_id] => 72
[guest_allow] => 3
)
[4] => Array
(
[property_id] => 76
[guest_allow] => 4
)
[5] => Array
(
[property_id] => 80
[guest_allow] => 5
)
[6] => Array
(
[property_id] => 84
[guest_allow] => 3
)
)
因此,我必须匹配来宾数组,所有值都存在于第二个数组中,并且我必须检查来宾值是否小于第二个guest\u allow
数组。如果没有匹配的单值,则返回空数组。如果匹配值如此,则只返回匹配值。我想要这样的返回数组:
Array
(
[0] => Array
(
[property_id] => 6
[guest_allow] => 2
)
[1] => Array
(
[property_id] => 9
[guest_allow] => 3
)
[2] => Array
(
[property_id] => 62
[guest_allow] => 2
)
[3] => Array
(
[property_id] => 72
[guest_allow] => 3
)
[4] => Array
(
[property_id] => 84
[guest_allow] => 3
)
[5] => Array
(
[property_id] => 76
[guest_allow] => 4
)
)
是否可以返回这种类型的数组?谢谢。假设
$guestar
是您的来宾阵列,$secondArr
是您的第二个阵列,解决方案如下:
$first = [1, 2, 3];
$second = [
['property_id' => 6, 'guest_allow' => 2],
['property_id' => 66, 'guest_allow' => 3],
['property_id' => 76, 'guest_allow' => 4],
['property_id' => 86, 'guest_allow' => 2]
];
$result = array_filter($second, function($el) use ($first) {
return in_array($el['guest_allow'], $first);
});
foreach($secondArr as $key => $arr){
if(!in_array($arr['guest_allow'], $guestArr)){
unset($secondArr[$key]);
}
}
// display $secondArr array
var_dump($secondArr);
以下是。假设
$guestar
是您的来宾数组,$secondArr
是您的第二个数组,解决方案如下:
foreach($secondArr as $key => $arr){
if(!in_array($arr['guest_allow'], $guestArr)){
unset($secondArr[$key]);
}
}
// display $secondArr array
var_dump($secondArr);
以下是。我可以比较大于或等于吗?@Dhanasri在这里使用大于或等于的方式吗?我可以比较大于或等于吗?@Dhanasri在这里使用大于或等于的方式吗?