我經常使用三元運算符,但我一直無法找到關於此的文檔中的任何內容,我一直在想它。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