Hello! 欢迎来到小浪资源网!


如何用PHP根据一维数组值查找二维数组对应键值并构建新数组?


如何用PHP根据一维数组值查找二维数组对应键值并构建新数组?

如何按一维数组值查找二维数组的下标并组装新的数组

给定一个一维数组 $str_arr 和一个包含数据的二维数组 $arr,目标是根据 $str_arr 中的值在 $arr 中找到相应的键值对,并组合成一个新的二维数组。

下文提供了这种转换的一个解决方案,灵感来自 laravel 的 arr::only 方法:

$result = array_map(function ($item) use ($str_arr) {     return array_intersect_key($item, array_flip($str_arr)); }, $arr);  var_dump($result);

这个解决方案使用 array_intersect_key 函数取两个数组键值的交集。array_flip 函数将 $str_arr 的值转换为键,作为过滤条件。

上面的代码将生成一个新的数组 $result,其中每个元素包含 $str_arr 中指定键对应的值:

立即学习PHP免费学习笔记(深入)”;

[     [         'id' => 1,         'username' => 'zhangs',         'email' => '123@163.com'     ],     [         'id' => 2,         'username' => 'lisi',         'email' => 'abcfef@163.com'     ] ]

相关阅读