2024-11-30

如何用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'
    ]
]
登录后复制

以上就是如何用PHP根据一维数组值查找二维数组对应键值并构建新数组?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1121190.html

发表回复

Your email address will not be published. Required fields are marked *