【问题标题】:PHP merge values of numeric arrays in corresponding keysPHP在相应键中合并数值数组的值
【发布时间】:2013-01-06 05:18:27
【问题描述】:

所以考虑一个包含我最喜欢的 3 种水果的数组:

$array1 = array("Apple", "Banana","Raspberry")

我想把它和自己美丽自然的颜色融合在一起

$array2 = array("Green ", "Yellow ","Red ")

结果看起来像

([0] => Green Apple [1] => Yellow Banane [2] => Red Raspberry) 

我需要一些可扩展的东西(2 到 6 个键,数组之间始终相同)

我的尝试和结果

  • array_combine($array2,$array1)

    结果:Array ( [Green ] => Apple [Yellow ] => Banana [Red ] => Raspberry )

  • array_merge($array2,$array1)
    结果:Array ( [0] => Green [1] => Yellow [2] => Red [3] => Apple [4] => Banana [5] => Raspberry )

  • array_merge_recursive($array2,$array1)
    结果:Array ( [0] => Green [1] => Yellow [2] => Red [3] => Apple [4] => Banana [5] => Raspberry )

【问题讨论】:

    标签: php arrays array-merge


    【解决方案1】:

    您实际上应该循环遍历数组来组合它们。

    $combinedArray = array();
    foreach ( $array1 as $key=>$value ) {
        $combinedArray[$key] = $array2[$key] . ' ' . $array1[$key];
    }
    

    【讨论】:

    • 谢谢。这应该对我的水果有很大帮助。我会在几分钟内接受你的回答,因为你太快了。
    • 谢谢。我错过了串联的“空间”。答案已更新。
    【解决方案2】:

    为什么不简单地遍历每个数组。

    $array1 = array("Apple", "Banana","Raspberry");
    $array2 = array("Green ", "Yellow ","Red ")
    
    $array3 = arrayCombine($array1, $array2);
    
    function arrayCombine($array1, $array2) {
      $array_out = array();
    
      foreach ($array1 as $key => $value)
        $array_out[] = $value . ' ' . $array2[$key];
    
      return $array_out;
    }
    

    【讨论】:

    • 你有一些语法错误$array3 = function array_combine($array1, $array2);应该是$array3 = array_combine($array1, $array2);
    猜你喜欢
    • 2014-02-28
    • 2014-03-12
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    • 2015-01-04
    • 1970-01-01
    • 2017-06-26
    相关资源
    最近更新 更多