登录
首页 >  文章 >  php教程

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

时间:2024-12-17 10:22:06 390浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《如何用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 中指定键对应的值:

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

以上就是《如何用PHP根据一维数组值查找二维数组对应键值并构建新数组? 》的详细内容,更多关于的资料请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>