首页 / PHP / if($r!='.'&&$r!='..')为何不能写成if($r!=('.'&&'..'))
if($r!='.'&&$r!='..')为何不能写成if($r!=('.'&&'..'))
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了if($r!='.'&&$r!='..')为何不能写成if($r!=('.'&&'..')),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含595字,纯文字阅读大概需要1分钟。
内容图文
![if($r!='.'&&$r!='..')为何不能写成if($r!=('.'&&'..'))](/upload/InfoBanner/zyjiaocheng/242/72f7415629cc43acb9e837e68b1ec942.jpg)
回复内容:
如题,请问问什么?有其他的简写方式吗
没有简写的方式。
在强类型语言里,&&
要求两边的操作数一定要是Boolean型,在弱类型语言里面,&&
会试图把两边的操作数转换成Boolean型(但是有些返回值并不是Boolean类型的)。因此从类型上来说这两者都是不等价的。
从语言规定的语法来讲似乎也不应该规定这样的写法,因为后面这种形式有着实在的意义。如果规定为等价,那么就需要多规定一条额外的语法。而这种规定似乎又不会带来明显的好处。尤其是在弱类型语言里后面这种写法也有其中的意义。
in_array($r, ['.', '..']);
两个值情况下还看不出来。如果与多个值比较,这么写绝对比一大堆!=
和&&
简洁。
内容总结
以上是互联网集市为您收集整理的if($r!='.'&&$r!='..')为何不能写成if($r!=('.'&&'..'))全部内容,希望文章能够帮你解决if($r!='.'&&$r!='..')为何不能写成if($r!=('.'&&'..'))所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。