wak*_*neo 0 php ternary operator-keyword
function foo() {
return $result = bar() ? $result : false;
}
function bar() {
return "some_value";
}
foo();
Run Code Online (Sandbox Code Playgroud)
注意:未定义的变量:结果
这是一个错误吗?
bar()应该保存到$ result,但它不会.但是条件工作正常并且它试图返回$ result或false语句(如果bar()为NULL或false)
PHP 5.4.24
Alm*_* Do 11
这是因为运营商的优先权.做
function foo() {
return ($result = bar()) ? $result : false;
}
Run Code Online (Sandbox Code Playgroud)
- 所以赋值将以更高的优先级进行评估.