php - 如何使用具有多个值的另一个数组从数组中删除值?
问题描述
我有两个数组 Array1 和 Array2,我需要从 Array1 中删除 Array2 值我在这里显示我的两个数组。
在 Array1 中,我的 utype_id 是 11 和 14,我需要从 Array2 中删除这个 id 记录,所以我该怎么做,你能帮帮我吗?
Array1(
[0] => stdClass Object
(
[id] => 22
[accessid] => 2
[utype_id] => 11
[discount] => 3434
[published] => 1
)
[1] => stdClass Object
(
[id] => 23
[accessid] => 2
[utype_id] => 14
[discount] => 2
[published] => 1
)
)
Array2
(
[0] => stdClass Object
(
[id] => 9
[type_name] => Admin
[description] => admin
[published] => 0
)
[1] => stdClass Object
(
[id] => 10
[type_name] => Senior sales
[description] => senior sales
[published] => 0
)
[2] => stdClass Object
(
[id] => 11
[type_name] => junior sales
[description] => junior
[published] => 1
)
[3] => stdClass Object
(
[id] => 14
[type_name] => dealer
[description] => dealer
[published] => 0
)
[4] => stdClass Object
(
[id] => 15
[type_name] => fgdg
[description] => dfg
[published] => 1
)
[5] => stdClass Object
(
[id] => 16
[type_name] => fgdfg
[description] => fgdfg
[published] => 0
)
)
我没有得到任何解决方案。我只需要来自 Array2 的 9,10,15,16 记录 ID。
解决方案
只是为了娱乐目的(我感觉有点被忽视了:()。按 ID 索引两个数组(需要 php 7+array_column()
才能支持对象作为输入),然后array_diff_key()
从第二个数组中删除任何...
print_r(array_diff_key(array_column($array2, null, "id"),
array_column($array1, null, "utype_id")));
我想说一个foreach()
解决方案比这个更快,只是想加入并发布一些原创内容。
推荐阅读
- django - django 中的 models 和 models.Model 之间有什么区别?(对于 forms 和 forms.Form 也是如此)
- pandas - 如何恢复 csv 熊猫的行位置?
- xpath - Selenium Xpath 'Starts-with' 函数语法错误 chrome 路径
- sql-server - 获取 SQL Server 图形数据库中的所有好友
- python - 通过唯一的交替颜色对列进行分组,并使用 XlsxWriter 根据 ID 交替这些颜色
- javascript - nodejs fs 路径和 readdirSync
- reactjs - 将 webpack react bundle 动态注入到正在运行的页面中
- python - 如何在 python 中检查连续整数作为字符串?
- amazon-s3 - Quarkus RESTEasy 默认依赖,无需自定义 html 解析即可获取上传文件名的解决方法
- javascript - 试图在烧瓶应用程序中提供安全脚本