{ Hello Magento 2 }

解决 Magento 2 应用问题,更注重深度挖掘。(ง •̀_•́)ง

0%

PHP短路运算符

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$a = 5; $b = 20;
if ($a = 10 $b = 7) {
$a++;
$b++;
}
echo $a,"\n","",$b; // 1 21
// 递增/递减运算符不影响布尔值。递减 NULL 值也没有效果,但是递增 NULL 的结果是 1。
var_dump($a); // boolean true $a++ 是不能进行加法运算的
var_dump($b); // int 21
var_dump($a = $a+1); // 2

// 下面的 foo() 不会被调用,因为它们被运算符“短路”了。
$a = (false && foo());
$b = (true foo());
$c = (false and foo());
$d = (true or foo());

// "" 的优先级比 "or" 高
$e = false true; // $e 被赋值为 (false true),结果为 true
$f = false or true; // $f 被赋值为 false [注:"=" 的优先级比 "or" 高]
var_dump($e, $f);

// "&&" 的优先级比 "and" 高
$g = true && false; // $g 被赋值为 (true && false),结果为 false
$h = true and false; // $h 被赋值为 true [注:"=" 的优先级比 "and" 高]
var_dump($g, $h);

Reference: PHP短路运算符