数组运算符
常见数组运算符
$a + $b
,$a 和 $b 的联合$a == $b
,$a 和 $b 键和值都相同则为 TRUE$a === $b
,$a 和 $b 键和值且顺序和类型都相同返回 TRUE$a != $b
,$a 和 $b 中键或值不同返回 TRUE$a <> $b
,等同于 !=$a !== $b
,$a 和 $b 中键,值,顺序或类型,其中一个不相同则返回 TRUE
<?php
$a = ["a" => "apple", "b" => "banana"];
$b = ["a" => "pear", "b" => "strawberry", "c" => "cherry"];
$c = ["b" => "banana", "a" => "apple"];
var_dump($a + $b, $b + $a);
var_dump($a == $c, $a === $c);
结果输出
array(3) {
["a"]=>
string(5) "apple"
["b"]=>
string(6) "banana"
["c"]=>
string(6) "cherry"
}
array(3) {
["a"]=>
string(4) "pear"
["b"]=>
string(10) "strawberry"
["c"]=>
string(6) "cherry"
}
bool(true)
bool(false)
从结果可以看出
+
运算符把右边的数组元素(除去键值与左边的数组元素相同的那些元素)附加到左边的数组后面,但是重复的键值不会被覆盖。===
,需要数组的键,值,类型和顺序都相同,才返回 TRUE。
PHP7 新增操作符
组合比较符
太空船操作符使用 <=>
表示,用于比较两个表达式。当 $a 小于、等于或大于 $b 时它分别返回-1、0或1。 比较的原则是沿用 PHP 的常规比较规则进行的。
<?php
// 整数
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1
// 浮点数
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
// 字符串
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>
NULL合并运算符
NULL 合并运算符使用 ??
表示,意味着如果 ??
之前的变量存在且值不为 NULL,它就会返回自身的值,否则返回 ??
后的操作数。
<?php
$username = $_GET['user'] ?? 'nobody';
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';
合并运算符通常可用三元运算符作为替换,多个合并运算符的优先级从左到右一次执行。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)