php - if($r != '.' && $r != '..')为何不能写成if($r != ('.'&&'..'))
本文介绍了php - if($r != '.' && $r != '..')为何不能写成if($r != ('.'&&'..'))的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
如题,请问问什么?有其他的简写方式吗
解决方案
没有简写的方式。
在强类型语言里,&&
要求两边的操作数一定要是Boolean型,在弱类型语言里面,&&
会试图把两边的操作数转换成Boolean型(但是有些返回值并不是Boolean类型的)。因此从类型上来说这两者都是不等价的。
从语言规定的语法来讲似乎也不应该规定这样的写法,因为后面这种形式有着实在的意义。如果规定为等价,那么就需要多规定一条额外的语法。而这种规定似乎又不会带来明显的好处。尤其是在弱类型语言里后面这种写法也有其中的意义。
这篇关于php - if($r != '.' && $r != '..')为何不能写成if($r != ('.'&&'..'))的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文