php - 如何检查具有 id 值的对象数组是否不存在于 php 中的另一个对象数组中?
问题描述
我有两个对象数组,例如
$array1 = [{id: '12',amount:'23'},{id:'10',amount:'129'},{id:'8', amount:'47'}];
$array2 = [{id: '3', date:'23'},{id:'4', date:'12'},{id:'6', date:'21'}];
我想检查第一个数组的所有 id (12,10,8) 到第二个。如果数组 2 中不存在这些 ID。它将var_dump('not matched')
。
我试图这样做,但是当第一个元素不匹配时,它被停止以进一步迭代并显示“未找到”状态。
foreach ($array1 as $value) {
foreach ($array2 as $value2) {
if ($value['id'] !== $value2['id']) {
var_dump('not found');
}
}
}
我希望在所有迭代完成后显示输出结果。
解决方案
你可以array_diff
使用array_column
if(!array_diff(array_column($array1, 'id'), array_column($array2, 'id'))){
echo 'Not matched';
}
推荐阅读
- node.js - 如何为多个产品设计订单模式?
- r - 如何在 R 中进行并行处理,结果为空?
- react-native - 如何在 react-native 中缓存 webview
- javascript - 让最高元素控制 flex wrapper 高度
- sql - SQL联合两个表并将表名保留在一列中
- basic-authentication - 使用 Cro 的 perl6 中的基本身份验证
- angular - Angular:当没有在任何提供者中声明路由器时,如何将路由器注入组件中?
- java - 将字符串拆分为 n 部分,用破折号分隔
- jquery - 仅从 Json 响应中拆分值
- java - 创建实体后的 Spring Hibernate 异常