sou*_*rri 16 php ternary-operator
我已经使用了三元运算符一段时间了,并且想知道是否有一种方法可以让没有该else子句的函数调用.例:
if (isset($foo)) {
callFunction();
} else {
}
Run Code Online (Sandbox Code Playgroud)
现在显然我们可以省略else:
if (isset($foo)) {
callFunction();
}
Run Code Online (Sandbox Code Playgroud)
现在对于三元组如果条件返回false,你怎么能通过'else子句'?
isset($foo) ? callFunction() : 'do nothing!!';
Run Code Online (Sandbox Code Playgroud)
要么是神秘还是不可能?
Kin*_*nch 31
短路
isset($foo) and callFunction();
Run Code Online (Sandbox Code Playgroud)
反转条件并省略第二个参数
!isset($foo) ?: callFunction();
Run Code Online (Sandbox Code Playgroud)
或只返回"东西"
isset($foo) ? callFunction() : null;
Run Code Online (Sandbox Code Playgroud)
但是,三元运算符旨在有条件地从两个可能的值中获取值.你正在调用一个函数,因此你似乎真的在寻找if和滥用?:来保存字符?
if (isset($foo)) callFunction();
Run Code Online (Sandbox Code Playgroud)