PHP方便快捷的将二维数组中元素的某一列值抽离出来作为此二维数组内元素的key

Posted Hello,World!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP方便快捷的将二维数组中元素的某一列值抽离出来作为此二维数组内元素的key相关的知识,希望对你有一定的参考价值。

得益于php的强大的内置数组函数
array_column();
array_combine();

举个小栗子:

<?php
// 先查询出用户的基本信息
$userArray = [[\'id\' => \'zs\', \'name\' => \'张三\'], [\'id\' => \'ls\', \'name\' => \'李四\'], [\'id\' => \'wr\', \'name\' => \'王二\']];
// 将二维数组内某具体列的值组成一个新用户数组
$userArrayNew = array_column($userArray, \'id\');
// 将新用户数组和分数数组合并(得到一个新分数数组),并将第一个数组的元素作为第二个数组元素的key
$userArrayCombine = array_combine($userArrayNew, $userArray);


echo "重新组装后的用户数组" . PHP_EOL;
var_dump($userArrayCombine);

// 根据id(in)查询出分数成绩
$scoreArray = [[\'id\' => \'zs\', \'score\' => 98], [\'id\' => \'ls\', \'score\' => 100], [\'id\' => \'wr\', \'score\' => 99]];

// 查询出的列表要返回,并且要把名字带上
foreach ($scoreArray as &$v) {
    if (!empty($userArrayCombine[$v[\'id\']][\'name\'])) {
        $v[\'name\'] = $userArrayCombine[$v[\'id\']][\'name\'];
    } else {
        $v[\'name\'] = \'\';
    }
}

echo "重新组装后的分数数组" . PHP_EOL;
var_dump($scoreArray);

 

 

以上是关于PHP方便快捷的将二维数组中元素的某一列值抽离出来作为此二维数组内元素的key的主要内容,如果未能解决你的问题,请参考以下文章

JS----使用归递获取多维数组中的某列值

如何判断当前修改过的datatable的某一列值是否为int型或double类型

vba 赋值给二维数组?

php根据二维数组的某一项对数组进行排序

linux脚本怎么读取文本的某一列进行操作

php二维数组按照某一列排序的方法