Démystifier la différence entre | et || (Ou) Les opérateurs
Les programmeurs utilisent couramment le || (double tube) opérateur pour les expressions OR dans divers langages comme C# et PHP. Cependant, certains peuvent occasionnellement rencontrer l'utilisation d'un tube unique (|). Comprendre leur distinction est crucial.
Comportement de court-circuit
Tout comme leurs homologues, & et &&, l'opérateur double canalisation se comporte comme un opérateur de court-circuit. Il évalue les conditions de manière séquentielle, en passant à la suivante uniquement si la condition actuelle est fausse.
Par exemple, le code suivant ne vérifiera les conditions 2 et 3 que si la condition 1 est vraie :
if (condition1 || condition2 || condition3)
En revanche, l'opérateur monotube ne court-circuite pas. Il évalue toutes les conditions, quels que soient les résultats des précédentes :
if (condition1 | condition2 | condition3)
Cela peut entraîner des avantages en termes de performances si l'évaluation de la condition est coûteuse en termes de calcul.
Mises en garde potentielles
Cependant, il y a des mises en garde à prendre en compte lors de l'utilisation du tube unique opérateur :
if (class != null || class.someVar < 20)
Utilisation de || ici, il ne peut pas lancer une NullReferenceException comme dans le || cas, mais c'est toujours une considération importante.
Opérations au niveau du bit
Au-delà des expressions logiques, | et & peut également effectuer des opérations au niveau du bit, en manipulant des représentations binaires de nombres au niveau du bit.
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!