最近看thinkPHP源碼的時候看到了一些判斷方法都是反寫的,例如:
<code>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); // 参数过滤 } } }</code>
小白求大神講解下為什麼是 ''==$name ,而不是 $name ==''?
這兩種的差別是什麼?
多謝!
最近看thinkPHP源碼的時候看到了一些判斷方法都是反寫的,例如:
<code>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); // 参数过滤 } } }</code>
小白求大神講解下為什麼是 ''==$name ,而不是 $name ==''?
這兩種的差別是什麼?
多謝!
防止你只寫了一個等號還不知道。
這個應該都是個人習慣了, 沒有影響的
反寫的話,如果寫了一個=,直接報錯,而正著寫,就是賦值了,不會報錯,主要為了防止出錯
異常寫法,正如一樓所說,防止漏寫一個 “=” 號,如果寫漏就會報錯
一個很好的編碼習慣,如果比較寫成了$name='a',這個表達式就是給$name賦值a,'a'=$name則不會
有時間可以看一下《c陷阱和缺陷》這本書。