有没有之间的差异isset和!empty.如果我做这个双布尔检查,这种方式是正确的还是多余的?有没有更短的方法来做同样的事情?
isset($vars[1]) AND !empty($vars[1])
Run Code Online (Sandbox Code Playgroud) 我经常使用三元运算符,但是我没有在文档中找到任何关于这个的东西,我一直想知道它.
以下是一个可能的示例:
echo ($something->message ? $something->message : 'no message');
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,如果$ something-> message是正确的,我们返回$ something-> message,但为什么要写两次呢?有没有办法做这样的事情:
echo ($something->message ? this : 'no message');
Run Code Online (Sandbox Code Playgroud)
现在,我不精通编程理论,所以它可能有一个原因,前者不能用的东西被引用像 "本",但为什么不呢?这不会流水线使用三元运算符吗?对于像我的例子这样的东西,这是非常没用的,但让我们说它是
echo (function(another_function($variable)) ? function(another_function($variable)) : 'false');
Run Code Online (Sandbox Code Playgroud)
我无法找到任何办法,所以我认为这是不可能的,如果我错了请通知我,否则:为什么不呢?为什么这不可能,技术原因是什么,还是只是从未发生过的事情?我应该将其声明为变量然后针对该变量进行测试吗?
在JavaScript中,您可以使用以下代码:
var = value || default;
Run Code Online (Sandbox Code Playgroud)
除了三元运算符之外,PHP中是否存在等价物:
$var = ($value) ? $value : $default;
Run Code Online (Sandbox Code Playgroud)
区别只是要写$value一次?