假設(shè)我們?cè)谝粋€(gè)類中有這個(gè)方法:public static function example($s, $f = false){
(static::$i['s'] === null or $f) and static::$i['s'] = $s;
return new static;
}您能給我任何提示嗎?這行代碼的含義是什么?(static::$i['s'] === null or $f) and static::$i['s'] = $s;它是一個(gè)條件語(yǔ)句嗎?或者類似三元運(yùn)算符的東西? 謝謝
1 回答

翻翻過去那場(chǎng)雪
TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊
他們?cè)噲D通過使用處理此類邏輯運(yùn)算符時(shí)發(fā)生的短路來變得聰明。這就是他們正在做的事情:
if ((static::$info['syntax'] === null) || $force) {
static::$info['syntax'] = $syntax;
}
如果您想了解此短路如何與 &&/and 運(yùn)算符配合使用:
$a = 'something';
false && $a = 'else';
echo $a;
// output: something
由于第一部分是 false,因此它甚至不會(huì)在另一端運(yùn)行該語(yǔ)句,因?yàn)榇诉壿嬤\(yùn)算的計(jì)算結(jié)果已為 false。
- 1 回答
- 0 關(guān)注
- 175 瀏覽
添加回答
舉報(bào)
0/150
提交
取消