Précédence des opérateurs

Il existe en PHP deux types de "ET" (and et &&) et de "OU" (or et ||). La raison est qu'ils ont des priorités différentes. Le and et le or ont une priorité plus faible que l'opérateur = alors que le && et le || ont une priorité plus élevée que le =.

Par exemple si on a le code suivant:

<?php
$choix1 = "un";
$choix2 = "deux";
$choix3 = "trois";

$val1 = $choix1 || $choix2 || $choix3; 
$val2 = $choix1 or $choix2 or $choix3; 
?>

$val1 sera égal à true et $val2 sera égal à "un".

Pour régler le problème, soit on met tout le temps des parenthèses, soit on n'utilise les opérateurs && et ||.

Haut de page