如何从平面数组中保留具有匹配列值的数组行?

Linda Hamilton
发布: 2024-10-24 04:17:02
原创
435 人浏览过

How to Retain Array Rows with Matching Column Values from a Flat Array?

从单独的平面数组中保留具有匹配列值的数组行

给定一个具有多列的数组 $arr1 和第二个平面数组 $ arr2 包含特定列值的列表,目标是过滤 $arr1 并仅提取特定列中的值与 $arr2 中的元素匹配的行。

解决方案:

为了有效地执行此任务,可以使用 array_uintersect()。该本机函数在比较期间利用排序算法来提高执行速度。它需要两个数组和一个自定义回调函数来确定比较逻辑。

在提供的代码中,回调函数利用数组解构来访问 $arr1 和 $arr2 的每个元素的 id 列。如果 id 列不存在,则默认为参数的值。

比较检查两个数组中的 id 值是否相等,确保 $arr1 中的行与 $arr2 中的值匹配。结果是一个仅包含 $arr1 中所需行的新数组。

由于最小化的函数调用和优化的执行时间,这种方法为 in_array() 的迭代调用提供了卓越的性能。

以上是如何从平面数组中保留具有匹配列值的数组行?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!