php - 我应该如何从 php 中的两个二维数组中获取缺失值
问题描述
我有两个数组
$a1 = Array
(
[0] => Array
(
[value] => 70,
[unit] => kilogram(kg),
[status] => active
),
[1] => Array
(
[value] => 80,
[unit] => kilogram(kg),
[status] => inactive
),
[2] => Array
(
[value] => 67,
[unit] => gram(g),
[status] => active
),
[3] => Array
(
[value] => 54,
[unit] => gram(g),
[status] => inactive
)
);
第二个数组是:
$a2 = Array
(
[0] => Array
(
[value] => 70,
[unit] => kilogram(kg),
[status] => active
),
[1] => Array
(
[value] => 80,
[unit] => kilogram(kg),
[status] => inactive
),
[2] => Array
(
[value] => 67,
[unit] => gram(g),
[status] => active
),
[3] => Array
(
[value] => 54,
[unit] => gram(g),
[status] => inactive
),
[4] => Array
(
[value] => 50,
[unit] => kilogram(kg),
[status] => active
)
);
我想要的是得到两个数组之间的区别。即数组中的缺失值。
我使用了array_diff,但它返回错误:
array_diff 行上的数组到字符串转换
任何人都有任何解决方案。
解决方案
function key_compare_func($key1, $key2)
{
if ($key1 == $key2)
return 0;
else if ($key1 > $key2)
return 1;
else
return -1;
}
$aDiff = array_diff_ukey($a1, $a2, 'key_compare_func');
推荐阅读
- templates - 导入的模板:注意,不适用于我的 Wiki 站点
- tomcat - Liferay 会话扩展 (/c/portal/extend_session) - HTTP 403 禁止
- node.js - 如何在控制器中获取请求
- angularjs - AngularJS:带有 $http 调用的测试方法引发错误
- c# - 更改列的 IDENTITY 属性,需要删除并重新创建列
- python - 具有所有人权限的 python tempfile.mkdtemp
- android - 在 cordova 构建期间未找到 dialogCornerRadius、fontVariationSettings 和 ttcIndex
- jenkins - 依次使用不同的参数在循环中触发管道
- rest - Rundeck:列出特定项目的所有工作
- c# - C#中'in'关键字的用途是什么?