【问题标题】:PHP - Merge two arrays (same-length) into one associative?PHP - 将两个数组(相同长度)合并为一个关联?
【发布时间】:2010-11-15 02:42:01
【问题描述】:

其实很简单的问题..

是否可以在 PHP 中将两个相同长度的单独数组组合成一个关联数组,其中第一个数组的值用作关联数组中的键?

我当然可以这样做,但我正在寻找另一个(内置)功能,或更有效的解决方案..?

function Combine($array1, $array2) {
    if(count($array1) == count($array2)) {
        $assArray = array();
        for($i=0;$i<count($array1);$i++) {
            $assArray[$array1[$i]] = $array2[$i];
        }
        return $assArray;
    }
}

【问题讨论】:

  • "ass array",绝对是一个好记的名字。 ;)

标签: php arrays merge associative-array


【解决方案1】:

array_combine($keys, $values)

PS:点击我的答案!它也是一个链接!

【讨论】:

    【解决方案2】:

    你需要array_combine

    <?php
    $a = array('green', 'red', 'yellow');
    $b = array('avocado', 'apple', 'banana');
    $c = array_combine($a, $b);
    
    print_r($c);
    ?>
    

    【讨论】:

      【解决方案3】:

      已经有一个array_combine function

      $combined = array_combine($keys, $values);
      

      【讨论】:

      • 但数组组合不会将空值放入新数组中。 :(
      • @gumuruh 你能详细说明一下吗?
      【解决方案4】:

      大家好,我将向您展示如何将 2 个数组合并到一个数组中

      我们有 2 个数组,我将从它们中创建一个数组

       $data_key  = array('key1','key2');
       $data_value = array('val1','val2');
      

      让我们声明主数组

      $main_array = array();
      

      现在让我们用 2 个数组填充它

      foreach ($data_key as $i => $key) {
               $main_array[$key] = $data_value[$i];
      }
      

      现在让我们使用var_dump($main_array);看看结果

      array(2) { 
      ["key1"]=> string(4) "val1"
      ["key2"]=> string(4) "val2" 
      }
      

      我希望这可以帮助某人:)

      【讨论】:

        猜你喜欢
        • 2012-10-21
        • 2018-04-27
        • 2013-06-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-02
        相关资源
        最近更新 更多