Y a-t-il une différence entre les opérateurs "and" et "&&" en PHP? [dupliquer]
cette question a déjà une réponse ici:
- 'ET' vs '&&' en tant qu'opérateur 11 réponses
j'ai le code suivant et ne pense pas que et soit nécessaire, i.e. &&
devrait être utilisé, car il n'y a rien à attribuer la partie gauche à?
if($_REQUEST['foo'] != 'abc' and $_REQUEST['bar'] == 'def')
{
echo "all your base";
}
il devrait en être ainsi:
if($_REQUEST['foo'] != 'abc' && $_REQUEST['bar'] == 'def')
{
echo "all your base";
}
3 réponses
dans votre cas, &&
et and
font la même chose, mais jetez un oeil à la priorité de l'opérateur . Vous pouvez voir que &&
et and
ne sont pas sur le même niveau, donc mélange qui pourrait vous donner des résultats inattendus dans certains cas - je recommande toujours d'utiliser &&
, mais c'est votre choix.
& & "et" sont deux choses différentes, en raison de leur ordre de priorité.
La raison pour les deux variantes de "et" et "ou" opérateurs qu'ils fonctionnent à différentes priorités. (Voir Opérateur Priorité.)
'et "'& & ' est le même opérateur, à l'exception de la priorité des différences.
ils sont opérateurs différents , mais ils fonctionnent de la même façon, à l'exception des différences de priorité.