代码之家  ›  专栏  ›  技术社区  ›  Darryl Hein IrishChieftain

array$arr+=array$arr1的作用是什么?

  •  3
  • Darryl Hein IrishChieftain  · 技术社区  · 15 年前

    我最近经常看到以下内容,我想知道它有什么作用?在PHP手册中似乎找不到它。

     $arr1 = array('key' => 'value1');
     $arr2 = array('key' => 'value2');
     $arr1 += $arr2;
    

    它类似于 array_merge ?

    我知道下面的功能,但我不理解它在使用数组时的功能:

     $var1 = 1;
     $var2 = 2;
     $var1 += $var2;
     echo $var1; // 3
    
    4 回复  |  直到 7 年前
        1
  •  2
  •   Bhargav Rao rlgjr    7 年前

    这个 + 两个数组之间的操作类似于联合。

        2
  •  8
  •   Artefacto    15 年前

    $arr1 += $arr2 是短的 $arr1 = $arr1 + $arr2 .

    这个 + 数组运算符执行以下操作:

    • 创建一个新数组,其中包含 $arr1 $arr2 ,除了下一个条件。
    • 如果两个操作数的元素相同 钥匙 ,只有元素 $AR1 将出席。
    • 元素 $AR2 会在那些 $AR1 .

    这和 array_merge ,其中:

    • 创建一个新数组,其中包含 $AR1 $AR2 ,除了下一个条件。
    • 如果两个操作数的元素相同 字符串键 ,只有元素 $AR2 将出席。
    • 元素与 数字键 将从0重新编号,从以下元素开始 $AR1 ,然后移动到 $AR2 .
    • 元素 $AR2 会在那些 $AR1 ,但字符串元素除外,这些元素将位于它们出现的第一个数组的位置。

    例子:

    <?php
    $arr1 = array(1 => 'value1.1', 10 => 'value1.2', 's' => 'value1.s');
    $arr2 = array(1 => 'value2', 2=> 'value2.2', 's' => 'value2.s');
    var_dump(array_merge($arr1,$arr2));
    $arr1 += $arr2;
    var_dump($arr1);
    

    结果(为清晰起见编辑):

    array(5) {
      [0]   => string(8) "value1.1"
      [1]   => string(8) "value1.2"
      ["s"] => string(8) "value2.s"
      [2]   => string(6) "value2"
      [3]   => string(8) "value2.2"
    }
    array(4) {
      [1]   => string(8) "value1.1"
      [10]  => string(8) "value1.2"
      ["s"] => string(8) "value1.s"
      [2]   => string(8) "value2.2"
    }
    
        3
  •  3
  •   codaddict    15 年前

    这个 + 当应用于数组时,php中的运算符执行数组的任务 联合 .

    $arr += array $arr1;
    

    有效地找到 $arr $arr1 并将结果分配给 阿尔 .

        4
  •  1
  •   avpaderno    15 年前

    两者之间的区别 array_merge() ,两个数组的和在以下示例中很明显:

    $array1 = array();
    $array2 = array(1 => "data");
    $result = array_merge($array1, $array2);
    

    $result 将包含索引为0的数组。

    $array1 = array();
    $array2 = array(1 => "data");
    $result = $array1 + $array2;
    

    索引未更改。

    推荐文章