Maison > Article > interface Web > Quand l'opérateur \"&& foo()\" appelle-t-il réellement la fonction \"foo()\" ?
Comprendre l'opérateur "&& foo()"
L'opérateur "&&", également connu sous le nom de "ET logique", apparaît souvent dans le code comme "x && foo()". Bien que cette construction ressemble au bloc "if(x) { foo(); }", leurs fonctionnalités sont subtilement différentes.
Évaluation des raccourcis
Les deux "&&" ( ET) et "||" Les opérateurs (OR) ont une caractéristique unique connue sous le nom d'« évaluation de raccourci ». Cette fonctionnalité permet aux opérateurs d'ignorer l'évaluation de la deuxième expression si la première expression détermine déjà le résultat de l'instruction entière.
Dans le cas de "&&", il n'évalue "foo()" que si la valeur de "x" est vrai. Si "x" est faux, "foo()" n'est pas exécuté puisque le résultat de l'instruction entière est déjà déterminé comme faux.
Inversement, dans "||" déclarations, si la première expression est véridique, la deuxième expression n’est pas exécutée. L'instruction entière est évaluée comme vraie malgré tout, ce qui rend la deuxième expression non pertinente.
Précautions
Cependant, lors de l'utilisation d'une évaluation de raccourci, il est important d'être conscient des cas où les variables peuvent évaluer comme des valeurs inattendues. Par exemple, "0" est évalué comme faux, même s'il s'agit d'une variable définie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!