2013-05-08 76 views
2

在PHP中有更漂亮的方法嗎?PHP - 更漂亮的單行如果

$a = isset($a) ? $a : $b; 

在Python我會做這樣的事情:

a = a or b 
+1

沒有。這是語法。 – Raptor 2013-05-08 10:59:05

+0

我試圖找到類似於「a = a或b」的東西,但是都沒有。 – mzedeler 2013-05-08 11:00:02

+0

你想做什麼? – 2013-05-08 11:00:07

回答

2

沒有沒有。

PHP開發人員已經討論過將其作爲未來版本的可能功能 - See here - 但被拒絕。

0

由於5.3,你可以這樣做:

$a = isset($a) ?: $b; 

編輯

如在評論中提到過 - 這實際上會使$a等於真(因爲isset)而不是$a

+3

如果它存在,這會將'$ a'設置爲true。 – Dogbert 2013-05-08 11:01:45

1

值。如果你使用PHP> = 5.3,你可以做到這一點更漂亮:

$a = isset($a) ?: $b; 

編輯: 在這種情況下isset($a)是一個問題,因爲如果isset($a)返回true,則$a將被設置爲true。你可以考慮將其更改爲

$a = isset($a) ?: $b; 

但要小心,如果$a == false || $a == 0然後$a將被設置爲$b

+5

如果它存在,這將設置$ a爲真。 – Dogbert 2013-05-08 11:03:17

+0

啊。好抓@Dogbert我的重點是讓語法更簡潔,而且實際上忽略了它會做的事情! – robjmills 2013-05-08 11:04:37

+0

right @Dogbert謝謝。 – Kasyx 2013-05-08 11:06:16