在PHP中,!=和<>运算符之间有什么区别吗?在手册中,它指出:$a != $b Not equal TRUE if $a is not equal to $b after type juggling.$a <> $b Not equal TRUE if $a is not equal to $b after type juggling.我猜没有太大的区别,但我很好奇。
3 回答
慕娘9325324
TA贡献1783条经验 获得超4个赞
在主要的Zend实现中,没有任何区别。您可以从PHP语言扫描程序的Flex描述中获取它:
<ST_IN_SCRIPTING>"!="|"<>" {
return T_IS_NOT_EQUAL;
}
T_IS_NOT_EQUAL生成的令牌在哪里。因此,Bison 解析器不会区分<>和!=标记,而是将它们等同对待:
%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL
%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL
浮云间
TA贡献1829条经验 获得超4个赞
正如公认的答案所指出的,实现是相同的,但是在文档中它们之间存在细微的区别...
根据此页面,<>操作员的优先级比略高!=。
我不确定这是Zend实现中的错误,文档中的错误还是PHP决定忽略优先规则的情况之一。
更新:该文件被更新,不再有任何区别<>和!=。
Qyouu
TA贡献1786条经验 获得超11个赞
就像每个人都说的一样,一种语言来自C语言风格/ shell,另一种语言来自MySQL,而MySQL在过去已经高度集成。
<>应该被视为语法糖,其同义词!=是不相等的正确PHP样式。
三重字符标识功能进一步强调了这一点!==。
- 3 回答
- 0 关注
- 894 浏览
添加回答
举报
0/150
提交
取消