2012-01-14 51 views
3

我想两个值在PHP比较使用下面这段代码:PHP中这两个比较有什么区别?

if ($val1 != $val2) ..... 

if ($val1 <> $val2) ....... 

都是上面的比较代码在各方面相同?

我很困惑哪个运营商使用这两个(!=和<>) !!

更新:

先后此得到的东西做比较字符串或数字字符串?

+0

请保持您的问题具体和一个主题。如果您有其他问题,请考虑询问一个新问题。我不太明白你想要提出什么新的更新问题。字符串也被比较,是的。字符串与数字作为文本以及。 – Kissaki 2012-01-14 09:06:14

+0

@Kissaki我觉得更新与我所问的问题有关......更新问题有什么错误 - 如果更新涉及到问题? – Sandy505 2012-01-14 09:11:02

+0

嗯,没什么我想的。您是问操作员在处理字符串和/或字符串时是否有不同的数字? – Kissaki 2012-01-14 09:20:18

回答

5

php documentation on Comparison Operators告诉我们,其实!=<>做同样的

两个被命名为“不等于”, 和被描述为:如果$ a不等于$ b型杂耍后

TRUE。

虽然大多数人使用!=,因为这更符合/不支持<>的其他编程语言。事实上,我不记得在任何PHP代码中都看到<>

1

没有区别,两者具有相同的含义。

请检查:!http://php.net/manual/en/language.operators.comparison.php

我建议使用C语言风格比较运算=

希望这有助于。

+0

如果在这些运算符中没有diff,为什么有两个存在?这个问题已经占据了我的脑海! – Sandy505 2012-01-14 08:56:26

+1

我认为这是因为一些PHP开发者来自使用<>(Pascal,VB,..)和其他使用!=(C,SQL,Java)的环境。这使PHP语法更容易学习新手。 – rkosegi 2012-01-14 08:59:19

+1

@ Sandy505使用你喜欢的,但几乎每个人都使用!=。我看到另一个只用于SQL,但如果你更喜欢它,那就去吧。但是如果你认为将来有人会维护/修改你的代码,那么我会用最常用的方式去做,然后 – 2012-01-14 09:00:13

2

两者都是一样的(see docs),但是您一定要使用!=。我从来没有见过任何人使用<>

我可以想象这是来自SQL,其中<>也被用作不等式运算符。

0

我认为两者是一样的

+1

我不认为“思考”是一个好的答案。至少给出一些让你如此看待的论点。或者用代码尝试一下,并且建议这些测试他们是一样的。或者给一些其他的参考/链接/报价。但轻微的猜测并没有真正的帮助或值得标题*答案*,恕我直言。 – Kissaki 2012-01-14 09:03:38

+0

好的。抱歉。我刚刚给了我的意见。并且基于[php手册](http://php.net/manual/en/language.operators.comparison.php),两个操作符的名称和结果都是相同的。所以我说我认为他们是一样的。 – braindead 2012-01-14 10:28:07

0

根据PHP手册中没有任何区别

$ A = $ B! - 不等于 - TRUE,如果$ a不等于$ b型杂耍后。
$ a <> $ b - 不等于 - 如果在类型杂耍后$ a不等于$ b,则为TRUE。

我认为最大的区别在于风格和习惯。
大部分时间我使用!=进行比较。它似乎更好读,因为,至少对我来说,总是指不是。另一方面,当我想做一个比较,我认为比较是'小于'或'大于'但不'等于'我使用<>(非常罕见)。