将一维数组值作为下标,从二维数组中提取数据构建新数组
在 php 中,我们经常需要根据一维数组中的值,从另一个二维数组中提取特定数据构建新数组。
了解 arr::only 方法的实现原理有助于我们解决这类问题。该方法使用取数组键交集的方式,获取指定的键值对。
对于给定的一维数组 $str_arr 和二维数组 $arr,我们可以使用 array_map 函数和 array_intersect_key 函数实现这一需求:
立即学习“PHP免费学习笔记(深入)”;
$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 函数将数组中键和值互换,这样就可以根据一维数组的键,在二维数组中匹配并提取数据。
经过上述操作,我们得到的结果 $result 就是所需的新二维数组,它包含了原始二维数组中,与一维数组 $str_arr 中键对应的值。
以上就是PHP中如何用一维数组下标从二维数组提取数据构建新数组?的详细内容,更多请关注php中文网其它相关文章!