2012-08-14 32 views
2

這可能嗎?php variable = variable1 ||變量2

php $variable = $variable1 || $variable2? 

如果$變量1是空的,可以用$變量2

是否有存在的就是這樣的事情?

+0

試試看或閱讀文檔。這是不可能的,因爲PHP中的所有布爾操作總是返回布爾值。 – Serjio 2012-08-14 14:26:11

回答

13

PHP 5.3+:

$variable = $variable1 ?: $variable2; 

PHP 5.2-:

$variable = $variable1 ? $variable1 : $variable2; 
+4

我不知道PHP5.3的縮減格式,謝謝! – halfer 2012-08-14 14:25:52

+4

注意,如果設置了變量,它不會用於測試。您仍然需要長格式,即'isset($ variable1)? $ variable1:$ variable2'。 – Martin 2012-08-14 14:28:54

+0

這是一件好事,因爲它可以防止由於拼寫錯誤或重構而導致潛在的未被注意的問題。 – 2015-03-13 13:54:04

0

在PHP中,操作者||返回一個布爾值,它不是一個短路操作,因爲它是在Perl或JavaScript,所以你不能使用這種語法。您可以使用ternary operator

$variable = $variable1 ? $variable1 : $variable2