Als ich mir kürzlich den Quellcode von thinkPHP angesehen habe, habe ich gesehen, dass einige Beurteilungsmethoden umgekehrt geschrieben sind, zum Beispiel:
<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>
Xiao Bai, bitte erklären Sie, warum es ''==$name statt $name =='' ist?
Was ist der Unterschied zwischen den beiden?
Vielen Dank!
Als ich mir kürzlich den Quellcode von thinkPHP angesehen habe, habe ich gesehen, dass einige Beurteilungsmethoden umgekehrt geschrieben sind, zum Beispiel:
<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>
Xiao Bai, bitte erklären Sie, warum es ''==$name statt $name =='' ist?
Was ist der Unterschied zwischen den beiden?
Vielen Dank!
Falls Sie gerade ein Gleichheitszeichen geschrieben haben und es noch nicht kennen.
Dies sollte nur eine persönliche Gewohnheit sein und hat keine Auswirkungen
Wenn Sie es rückwärts schreiben, wird ein Fehler direkt gemeldet. Wenn Sie es vorwärts schreiben, wird ein Wert zugewiesen und es wird kein Fehler gemeldet. Dies dient hauptsächlich der Fehlervermeidung.
Eine ungewöhnliche Schreibweise, wie im ersten Stock erwähnt, verhindert das Fehlen eines „="-Zeichens, andernfalls wird ein Fehler gemeldet
Eine gute Codierungsgewohnheit. Wenn der Vergleich als $name='a' geschrieben wird, weist dieser Ausdruck $name den Wert a zu. Wenn 'a'=$name ist, wird dies nicht der Fall sein.
Wenn Sie Zeit haben, können Sie das Buch „C-Fallen und Defekte“ lesen.