2017-01-09 78 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的实现,它是一个非常好的一个。