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:

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";
}
2
php
demandé sur slick 2011-01-20 15:03:25

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.

6
répondu oezi 2015-12-06 10:51:49

& & "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é.)

3
répondu Nanne 2015-12-06 10:56:40

'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é.

2
répondu Stefan H Singer 2015-12-06 10:52:35