Bonjour,

ma question est très simple : dans les tutoriels PHP Grafikart utilise les simboles && pour ET et | | pour OU. Après quelques test, je me suis rendu compte que l'on pouvait les remplacer par and et or. Est-ce plus simple de mettre && et | | ou and et or ?

4 réponses


popotte
Réponse acceptée

Hello :)

Alors en gros l'opérateur && est mieux, c'est une question de priorité

Avec and tu peux te retrouver avec ce genre de problème

$foo = true;
$bar = false;
$resultAnd = $foo and $bar;

// Résultat => true! :p

$resultGoodOperator = $foo && $bar;

// Resultat => false (bien)

En gros l'opérateur = est prioritaire à l'operateur and, du coup php va d'abord traiter le calcul $resultAnd = $foo, donc true sera ajoutée à la variable, et ensuite il va calculer en dans le vide la comparaison avec $bar, en gros du point de vue de php ça donne ça: ($resultAnd = $foo) and $bar;

Alors que l'opérateur && lui est prioritaire à =, php va donc en premier comparer, et ENSUITE assigner la variable

Je sais pas si c'est vouulu ou si PHP a abandonné l'opérateur and en passant à PHP7 (la première version non-cassée de PHP)

quenti77
Réponse acceptée

Oui c'est aussi valable pour or et ||

Salut popotte,

Merci de ta réponse c'est un peu plus claire ;)

Est-ce-que ce que tu m'as dis est aussi valable pour l'opérateur | | ou or ?

D'accord,

merci à vous deux et bonne journée !