gpt4 book ai didi

php - 如何在php中获取两个多维数组的差异?

转载 作者:可可西里 更新时间:2023-11-01 00:58:16 27 4
gpt4 key购买 nike

我想得到两个多维数组的差异,例如,

第一个数组:

Array
(
[qtr_selected] => Array
(
[partner_q_m_p__2031] => Array
(
[0] => q1
[1] => q2
)

[partner_q_m_p__2032] => Array
(
[0] => q1
)

)

)

第二个数组:

 Array
(
[qtr_completed] => Array
(
[partner_q_m_p__2031] => Array
(
[0] => q1
)

)

)

我如何得到 array1 和 array2 的区别,如下所示:

   Array
(
[qtr_final] => Array
(
[partner_q_m_p__2031] => Array
(
[0] => q2
)

[partner_q_m_p__2032] => Array
(
[0] => q1
)

)

)

尝试了 array_diff() 函数,但除了 array2 之外没有得到 array1 作为差异,我想要从中减去 array2 后的 array1。

最佳答案

简单地制作一个自定义函数,如 as

function check_diff($arr1, $arr2){
$check = (is_array($arr1) && count($arr1)>0) ? true : false;
$result = ($check) ? ((is_array($arr2) && count($arr2) > 0) ? $arr2 : array()) : array();
if($check){
foreach($arr1 as $key => $value){
if(isset($result[$key])){
$result[$key] = array_diff($value,$result[$key]);
}else{
$result[$key] = $value;
}
}
}

return $result;
}
$result['qtr_final'] = check_diff($a1['qtr_selected'],$a2['qtr_completed']);
print_r($result);

关于php - 如何在php中获取两个多维数组的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34986032/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com