【问题标题】:Update array based on other array in PHP基于PHP中的其他数组更新数组
【发布时间】:2013-08-23 23:42:42
【问题描述】:

我有两个数组

数组$groeperingen 包含短代码和全名,数组$groep cointains 仅包含短代码。

我想要的是$groep中的所有短代码都替换为全名。

数组$groepering 如下所示:

Array
(
    [019] => Regio 019a
    [013] => Regio 013
    [011] => Regio alpha
    [AR] => ArmUsers
    [CU] => ComputerUsers
    [GA] => Gamers
    [OP] => Opensource
)

数组$groep 如下所示:

Array
(
    [0] => CU
    [1] => GA
    [2] => OP
)

我该怎么做?

【问题讨论】:

    标签: php arrays merge


    【解决方案1】:

    使用array_map 将函数应用于$groep 数组的每个元素。

    <?php
    
    $groep = Array(
       "CU",
       "GA",
       "OP"
    );
    $groepering = Array(
       "019" => "Regio 019a",
       "013" => "Regio 013",
       "011" => "Regio alpha",
       "AR" => "ArmUsers",
       "CU" => "ComputerUsers",
       "GA" => "Gamers",                
       "OP" => "Opensource"
    );
    
    $result = array_map(function ($x) use ($groepering) {       
       return $groepering[$x];
    }, $groep);
    
    print_r($result);
    

    $result的内容是:

    Array
    (
        [0] => ComputerUsers
        [1] => Gamers
        [2] => Opensource
    )
    

    在这里查看它的工作原理:http://phpfiddle.org/main/code/7sv-1kp

    【讨论】:

      【解决方案2】:

      这将创建一个新数组。

      $groeperingen = array(
                        '019' => 'Regio 019a',
                        '013' => 'Regio 013',
                        '011' => 'Regio alpha',
                        'AR' => 'ArmUsers',
                        'CU' => 'ComputerUsers',
                        'GA' => 'Gamers',
                        'OP' => 'Opensource'
                      );
      $groep = array('CA', 'GA', 'OP');
      
      function changeValue($ary, $basedOnAry){
        foreach($ary as $i => $v){
          $a[$i] = $basedOnAry[$v];
        }
        return $a;
      }
      
      $newArray = changeValue($groep, $groeperingen);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多