数组运算符

联合运算符 + 把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。

<?php

$foo = [2, 4, 5];
$bar = [0, 1, 2];
var_dump($foo + $bar); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }

$foo = ['foo' => 'cat', 'bar' => 'dog'];
$bar = ['foo' => '2', 'bar' => '04', 'baz' => '05'];
var_dump($foo + $bar); // array(3) { ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" ["baz"]=> string(2) "05" }

$foo = ['foo' => 'cat', 'bar' => 'dog'];
$bar = ['foo' => '2', 'bar' => '04', 'baz' => '05'];
var_dump($bar + $foo); // array(3) { ["foo"]=> string(1) "2" ["bar"]=> string(2) "04" ["baz"]=> string(2) "05" }

等于运算符 == 在两个数组具有相同的键值对时返回 true

<?php

$foo = ['foo' => 'cat', 'bar' => 'dog'];
$bar = ['cat', 'dog'];
var_dump($foo == $bar); // bool(false)

$foo = ['foo' => 'cat', 'bar' => 'dog'];
$baz = ['foo' => 0, 'bar' => 'dog'];
var_dump($foo == $baz); // bool(true)

全等运算符 === 在两个数组具有相同的键值对并且顺序和类型都相同时返回 true

<?php

$foo = ['foo' => 'cat', 'bar' => 'dog'];
$bar = ['foo' => 0, 'bar' => 'dog'];
var_dump($foo === $bar); // bool(false)

$foo = ['foo' => 'cat', 'bar' => 'dog'];
$baz = ['bar' => 'dog', 'foo' => 'cat'];
var_dump($foo === $baz); // bool(false)

不等运算符 != 在两个数组不具有相同的键值对时返回 true

<?php

$foo = ['foo' => 'cat', 'bar' => 'dog'];
$bar = ['cat', 'dog'];
var_dump($foo != $bar); // bool(true)

$foo = ['foo' => 'cat', 'bar' => 'dog'];
$baz = ['foo' => 0, 'bar' => 'dog'];
var_dump($foo != $baz); // bool(false)

不全等运算符 !== 在两个数组不具有相同的键值对或顺序和类型不相同时返回 true

<?php

$foo = ['foo' => 'cat', 'bar' => 'dog'];
$bar = ['foo' => 0, 'bar' => 'dog'];
var_dump($foo !== $bar); // bool(true)

$foo = ['foo' => 'cat', 'bar' => 'dog'];
$baz = ['bar' => 'dog', 'foo' => 'cat'];
var_dump($foo !== $bar); // bool(true)

results matching ""

    No results matching ""