在平面数组中保留与值匹配的数组行
背景:
您有一个数组 $arr1 具有多个列,另一个数组 $arr2 包含值列表。目标是过滤 $arr1 并仅保留 id 列与 $arr2 中的任何值匹配的行。
解决方案:
使用 array_uintersect() :
最有效的解决方案是利用 array_uintersect() 函数,该函数使用用户定义的回调来比较两个数组中的元素。在这种情况下,回调会检查 id 值是否匹配。
var_export( array_uintersect( $arr1, $arr2, fn($a, $b) => ($a['id'] ?? $a) <=> ($b['id'] ?? $b) ) );
说明:
array_uintersect()的好处:
以上是如何使用 array_uintersect() 通过匹配值来过滤数组行?的详细内容。更多信息请关注PHP中文网其他相关文章!