【问题标题】:if $a and $b are bothe arrays the what would be the result of $a+$b? [duplicate]如果 $a 和 $b 都是数组,那么 $a+$b 的结果是什么? [复制]
【发布时间】:2011-03-09 16:55:04
【问题描述】:

可能重复:
+ operator for array in PHP?

如果$a$b都是数组,那么$a + $b的结果是什么?

【问题讨论】:

标签: php arrays


【解决方案1】:
<?php

$a = array(1, 2, 3);
$b = array(4, 5, 6);
$c = $a + $b;

print_r($c);

结果对我来说:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)

但是:

<?php

$a = array('a' => 1, 'b' => 2, 'c' => 3);
$b = array('d' => 4, 'e' => 5, 'f' => 6);
$c = $a + $b;

print_r($c);

结果:

Array
(
    [a] => 1
    [b] => 2
    [c] => 3
    [d] => 4
    [e] => 5
    [f] => 6
)

因此,这里的答案似乎取决于您的数组的键控方式。

【讨论】:

  • 我只是对完全相同的变量名称、值和函数做了同样的事情(在它被编辑之前);)
【解决方案2】:

http://www.php.net/manual/en/language.operators.array.php

Union of $a and $b.

+ 运算符附加 右手剩余的钥匙 数组到左手,而 不会覆盖重复的键。

【讨论】:

    【解决方案3】:

    我的测试

    $ar1 = array('1', '2');
    $ar2 = array('3', '4');
    $test = $ar1 + $ar2;
    print_r($test);
    
    Array
    (
        [0] => 1
        [1] => 2
    )
    

    【讨论】:

      【解决方案4】:

      如果您执行$result = $a + $b; 之类的操作,那么$result 将被分配给第一个参数,在本例中为$a

      【讨论】:

      • 如果 $a 和 $b 是键控数组,则不会。
      • 建议你深入了解一下这个 Evernoob,它的行为不像你说的那么简单
      【解决方案5】:

      现在试试这个实验

      $a = array( 0 => 1,
                  1 => 2,
                  4 => 3
                );
      $b = array( 2 => 4,
                  4 => 5,
                  6 => 6
                );
      $c = $a + $b;
      
      var_dump($c);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-02
        • 2019-12-18
        • 2022-12-07
        • 2012-10-19
        • 2019-08-07
        • 1970-01-01
        • 2017-04-06
        • 2014-03-29
        相关资源
        最近更新 更多