2017-01-09 35 views
1

我會重新解釋這個問題,並再次詢問,投票結束。整數變量php之前的感嘆號php

+2

你的意思就是相反的'if($ a <= 0){'? – Koen

+0

我知道我並不是最聰明的人,但我發現你的代碼很混亂,這讓我懷疑你是否正在嘗試處理來自PHP寬鬆打字的一些特殊情況(null,空字符串,零表現爲false ... )。 –

+0

由於OP明確要求,我正在投票結束這個問題作爲題外話題。 –

回答

1

!-operator是而不是運算符來自布爾代數。 PHP盡力允許動態變量實例化。

您的情況!$a>0會導致「(不是$ a)> 0」。 第二個將!($a>0)將談判的結果$a>0

無論哪種方式在技術上都很好(可能比其他方式更有意義)。如果你真的想避免不談判非整數,只需檢查你得到了什麼:

if (is_int($a) && !($a > 0)) { 
+0

我不確定'is_int()'方法。如果數據完全是假的(''foo''),由於int類型的提示,PHP本身會引發錯誤。在其他情況下,函數將不再接受否則有效的值(''123')。 –

0

你只需要一個非常好的建模。正如其他人指出的那樣,負責定義IF的人員只需要擅長PHP。根據需要實現哪些邏輯,取決於編碼器是否需要單獨邏輯,因爲$ variable>編號總是返回「true」或「false」,查看Michail Hirschler的實現,它是一個非常好的一個。