我经常使用三元运算符,但我一直无法找到关于此的文档中的任何内容,我一直在想它。PHP三元运算符澄清
下面是一个可能的例子:
echo ($something->message ? $something->message : 'no message');
,你可以看到,如果$ something->消息是正确的,我们返回$ something->消息,但为什么要写两次?有没有办法做这样的事情:
echo ($something->message ? this : 'no message');
现在,我没有很好地规划理论精通,所以它可能有一个原因,前者不能与一些引用像“本”,但为什么不?这不会流三线运算符的使用吗?对于像我的例子这是很没用,但是让我们说这是
echo (function(another_function($variable)) ? function(another_function($variable)) : 'false');
我无法找到任何的方式来做到这一点,所以我假设它是不可能的,如果我错了,请通知我,否则:为什么不呢?为什么这是不可能的,技术原因是什么,还是仅仅是从未发生过的事情?我应该将它声明为一个变量,然后对该变量进行测试吗?
可能的重复[是否PHP有默认的分配习惯像perl?](http://stackoverflow.com/questions/2958630/does-php-have-a-default-assignment-idiom-like-perl) – outis 2012-04-01 05:45:06