[英]How to get the difference between two multidimensional arrays of associative arrays in PHP?
[英]PHP: How to find difference in two multidimensional arrays on spacific key
我有两个多维数组,我想找到这两个数组之间的差异,但如何基于此键subscription_plan_id
获得差异。
我用了这个: $result = array_diff_assoc($arr1, $arr2);
但出现此错误:
Notice: Array to string conversion in /var/www/sitename/application/models/xxx_model.php on line 122
Notice: Array to string conversion in /var/www/sitename/application/models/xxx_model.php on line 122
Notice: Array to string conversion in /var/www/sitename/application/models/xxx_model.php on line 122
Notice: Array to string conversion in /var/www/sitename/application/models/xxx_model.php on line 122
数组结果:
Array
(
[0] => Array
(
[subscription_plan_id] => 13
[plan_month] => 1
[start_date] => 2015-03-13
[end_date] => 2015-04-12
[s_start_date] => 2015-02-12 09:29:33
[s_subscription_id] => 70
)
[1] => Array
(
[subscription_plan_id] => 2
[plan_month] => 1
[start_date] => 2015-03-13
[end_date] => 2015-04-12
[s_start_date] => 2015-02-12 09:26:50
[s_subscription_id] => 69
)
)
Array
(
[0] => Array
(
[subscription_plan_id] => 2
)
[1] => Array
(
[subscription_plan_id] => 13
)
[2] => Array
(
[subscription_plan_id] => 36
)
[3] => Array
(
[subscription_plan_id] => 39
)
)
我想要这个结果:
Array
(
[0] => Array
(
[subscription_plan_id] => 36
)
[1] => Array
(
[subscription_plan_id] => 39
)
)
我已经尝试过使用array_diff_key及其与您的示例代码一起很好地工作。
试试这个代码:
$arr1 = array
(
array('subscription_plan_id' => '13', 'plan_month' => '1', 'start_date' => '2015-03-13', 'end_date' => '2015-04-12', 's_start_date' => '2015-02-12 09:29:33', 's_subscription_id' => '70'),
array('subscription_plan_id' => '2', 'plan_month' => '1', 'start_date' => '2015-03-13', 'end_date' => '2015-04-12', 's_start_date' => '2015-02-12 09:26:50', 's_subscription_id' => '69')
);
$arr2 = array
(
array('subscription_plan_id' => '2'),
array('subscription_plan_id' => '13'),
array('subscription_plan_id' => '36'),
array('subscription_plan_id' => '39')
);
$diff = array_diff_key($arr2, $arr1);
echo "<pre>";
print_r($diff);
echo "</pre>";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.