【问题标题】:How to get array data in a single array如何在单个数组中获取数组数据
【发布时间】:2022-01-27 08:23:11
【问题描述】:
Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 23 [4] => 5 [5] => 2 ) Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 2 [4] => 3 [5] => 2 )

所以我有这个数组。我想要这样的单个数组中的所有数据。如何实现这一点。

Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 23 [4] => 5 [5] => 2 [6] => 1 [7] => 1 [8] => 1 [9] => 2 [10] => 3 [11] => 2 )

【问题讨论】:

    标签: javascript php arrays


    【解决方案1】:

    array_merge怎么样:

    $array1 = [1, 2, 1, 23, 4, 2];
    $array2 = [1, 1, 1, 2, 3, 2];
    
    var_dump(array_merge($array1, $array2));
    

    【讨论】:

      【解决方案2】:

      您应该像这样使用array_merge 函数将这两个数组组合起来

      $array1 = [1,2,1,23,5,2];
      
      $array2 = [1,1,1,2,3,2];
      
      $result = array_merge($array1, $array2);
      

      【讨论】:

      • 我的意思是数组列表很大。我只是展示了两个例子。不能用你的方法做到这一点。我猜必须使用循环。
      • 你仍然可以使用array_merge,因为你可以传入你想要合并的任意多个数组,它不接收两个参数,可以是3、4、5等。取决于您要合并的数组数量
      【解决方案3】:

      我认为你可以使用 PHP 提供的 array_merge 函数。 比如代码

      $array1 = array("color" => "red", 2, 4);
      $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
      $result = array_merge($array1, $array2);
      print_r($result);
      

      将产生以下输出:

      [color] => green
      [0] => 2
      [1] => 4
      [2] => a
      [3] => b
      [shape] => trapezoid
      [4] => 4
      

      如果您不想覆盖任何数据,您可以简单地使用 + 运算符, 比如代码

      $array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
      $array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
      $result = $array1 + $array2;
      var_dump($result);
      

      将产生:

        [0]=>
        string(6) "zero_a"
        [2]=>
        string(5) "two_a"
        [3]=>
        string(7) "three_a"
        [1]=>
        string(5) "one_b"
        [4]=>
        string(6) "four_b"
      

      来源:

      https://www.php.net/manual/en/function.array-merge.php

      【讨论】:

        【解决方案4】:

        您可以在 javascript 中使用传播运算符:

        const array1 = [1,2,3,4,5];
        const array2 = [6,7,8,9,10];
        
        const array3 = [...array1,...arry2];
        conole.log(array3);
        //output : [1,2,3,4,5,6,7,8,9,10]
        

        【讨论】:

          【解决方案5】:
          $arr1 = [ 1, 2, 1, 23, 4, 2 ];
          $arr2 = [ 1, 1, 1, 2, 3, 2 ];
          $arr3 = [ 30, 31, 32 ];
          $arrOfArrays = [
              [ 40, 41 ],
              [ 50, 51 ]
          ];
          
          $result = [ ...$arr1, ...$arr2, ...$arr3, ...array_merge(...$arrOfArrays) ];
          
          print_r($result);
          

          这将打印:

          Array
          (
              [0] => 10
              [1] => 11
              [2] => 20
              [3] => 21
              [4] => 22
              [5] => 30
              [6] => 31
              [7] => 32
              [8] => 40
              [9] => 41
              [10] => 50
              [11] => 51
              [12] => 52
          )
          

          【讨论】:

            猜你喜欢
            • 2021-11-18
            • 1970-01-01
            • 2017-07-05
            • 1970-01-01
            • 2019-04-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-04-21
            相关资源
            最近更新 更多