2017-04-20 41 views
0

我用很短,如果在PHP中,當使用這個例子如果在PHP中true段落爲空時如何工作短小?

$a = 100 ? 200 : 300; 

$a等於,但我不知道怎麼下面的示例工作。

$a = 100 ? : 300; 
此代碼 $a等於後


爲什麼?

+1

您錯誤地將'$ a'的值設置爲100而不是檢查它是否等於100.'$ a == 100? 200:300;' –

+0

如果這是您的常見錯誤,請嘗試使用更多Yoda條件:'100 == $ a'。如果您錯誤地輸入了'100 = $ a? 200:300'會顯示錯誤。 – Kempeth

回答

0

讓我解釋一下這樣你就可以瞭解差異性。

When you use one = it's assigning value, 
When you use == is checking if same value and 
When using === is checking value + type also. 

所以,在你的榜樣$a = 100 ? 200 : 300;它是這樣的:

如果$一個可以設置爲100(可),那麼真正的(所以200)。

在你的第二個例子:$a = 100 ? : 300;

同樣你assinging $ a到100,這是真的,那麼它仍然是100你的真實情況是空的。