thinkphp等于判断反写的道理是什么?
程序员文章站
2022-05-12 20:05:38
...
最近看thinkPHP源码的时候看到了一些判断方法都是反写的,例如:
if(''==$name) { // 获取全部变量
$data = $input;
$filters = isset($filter)?$filter:C('DEFAULT_FILTER');
if($filters) {
if(is_string($filters)){
$filters = explode(',',$filters);
}
foreach($filters as $filter){
$data = array_map_recursive($filter,$data); // 参数过滤
}
}
}
小白求大神讲解下为什么是 ''==$name ,而不是 $name ==''?
这两种的区别是什么?
多谢!
回复内容:
最近看thinkPHP源码的时候看到了一些判断方法都是反写的,例如:
if(''==$name) { // 获取全部变量
$data = $input;
$filters = isset($filter)?$filter:C('DEFAULT_FILTER');
if($filters) {
if(is_string($filters)){
$filters = explode(',',$filters);
}
foreach($filters as $filter){
$data = array_map_recursive($filter,$data); // 参数过滤
}
}
}
小白求大神讲解下为什么是 ''==$name ,而不是 $name ==''?
这两种的区别是什么?
多谢!
防止你只写了一个等号还不知道。
这个应该都是个人习惯了, 没有任何影响的
反写的话,如果写了一个=,直接报错,而正着写,就是赋值了,不会报错,主要为了防止出错
异常写法,正如一楼所说,防止漏写一个 “=” 号,如果写漏就会报错
一个很好的编码习惯,如果比较写成了$name='a',这个表达式就是给$name赋值a,'a'=$name则不会
有时间可以看一下《c陷阱和缺陷》这本书。