zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    Designing With Web Standard(一)
    再听姜育恒
    终于找到Effective C Sharp电子版了
    继续下一个题目
    想做就做,要做得漂亮
    空悲还是空杯
    整理,中庸
    分布式系统设计随想
    日志log4
    log4net更换目录
  • 原文地址:https://www.cnblogs.com/liugx/p/9208310.html
Copyright © 2011-2022 走看看