php - 如何检查值一个数组元素是否完全存在于另一个数组中并在php中创建新数组作为不同数组值的容器
问题描述
从两个数组中,我想检查它是否具有相同的值,然后它将创建一个新数组作为不同的数组容器,这是我的数组
$array1
"[
{
"inveninfoid": "298",
"product_no": "SKU999212"
},
{
"inveninfoid": "297",
"product_no": "SKU999211"
},
{
"inveninfoid": "296",
"product_no": "SKU999210"
},
{
"inveninfoid": "307",
"product_no": "SKU999213"
},
{
"inveninfoid": "308",
"product_no": "SKU999214"
},
{
"inveninfoid": "309",
"product_no": "SKU999215"
}
]"
$array2
"[
{
"inveninfoid": "298",
"product_no": "SKU999212",
},
{
"inveninfoid": "297",
"product_no": "SKU999211",
},
{
"inveninfoid": "296",
"product_no": "SKU999210",
},
{
"inveninfoid": "307",
"product_no": "SKU999213",
}
]"
那么我期望的结果是像这样形成一个新的数组 $array3 。
$array3
"[
{
"inveninfoid": "308",
"product_no": "SKU999214"
},
{
"inveninfoid": "309",
"product_no": "SKU999215"
}
]"
解决方案
array_diff_assoc() : 通过附加索引检查计算数组的差异
您可以转换JSON
为数组并使用array_diff_assoc
$jArr1 = json_decode($j1, true);
$jArr2 = json_decode($j2, true);
$diff = array_diff_assoc($jArr1, $jArr2);
推荐阅读
- javascript - 创建一个需要从 Javascript 中的函数输入的按钮
- html - Outlook 上的防弹按钮显示不正确
- iis-8 - IIS 8.5 忽略 IP 限制。有什么建议吗?
- javascript - 如何从 iframe 的控制台捕获日志?
- java - 输出中的 Visual Studio 目录
- linux - 在 cpanel (crontab) 上更改 cron 作业的时区
- angular - 订阅 Angular 9 组件上可观察到的变化的适当位置
- sql - Athena UNION - 我需要定义结构列吗?
- javascript - 使用 JavaScript 获取 url 参数的站点加载时间
- debian - 如何在 Debian 上修复 apt-get 的“无法找到软件包”?