PHP - et / ou de mots clés
Est &&
la même chose que "et", et est ||
le même que le "ou" en PHP?
J'ai fait quelques tests, et il semble qu'ils se comportent de la même. Existe-il des différences?
Si non, existe-il d'autres PHP signes qui word sont équivalents et pensez-vous que cela rend le code plus facile à lire?
- Ancien programmeur VB, hein? Oui,
&&
est ET de, mais&
est ET (bit à bit). Liekwise pour||
et|
sont OU et OU (bit à bit), respectivement. :: Je la renvoie, PHP permet ET/OU de mots, incroyable. Apprendre quelque chose de nouveau chaque jour. - non 🙂 j'ai commencé avec Turbo Pascal, et j'avoue que j'aime le pascal synthax plus 🙂
- Ah, les jours de Pascal/Delphi. Comment je déteste, heu je veux dire de l'amour, de ces jours...
- Ah... je préfère Pascal syntaxe plus de PHP, mais pas plus 🙂
- Pourquoi presque tous les programmeurs PHP choisissez les signes sur les mots? Juste parce qu'ils économiser 1 caractère lors de l'utilisation de && ?
- La lisibilité, je pense, est la plupart du temps dans l'oeil du spectateur dans ce cas. Je trouve
||
et&&
plus lisible, mais je préfère attendre que les autres sont en désaccord. Stick avec la convention de l'environnement que vous trouvez. - CodeIgniter utilise
&&
etOR
, au lieu de||
parce que "sa clarté sur certains périphériques de sortie est faible". Sourire.
Vous devez vous connecter pour publier un commentaire.
and
etor
avoirpluspriorité plus basse que&&
et||
. Pour être plus exact&&
et||
ont une priorité plus élevée que l'opérateur d'affectation (=
), tandis queand
etor
ont moins.http://www.php.net/manual/en/language.operators.precedence.php
Habituellement, il n'est pas de faire une différence, mais il ya des cas où ne sachant pas sur cette différence peut provoquer certains comportements inattendus. Voir les exemples ici:
http://php.net/manual/en/language.operators.logical.php
=
ainsi.Oui, ils sont logiquement les mêmes. (Je crois que "&&" et "||" sont le choix préféré dans la Zend normes de codage, mais je ne trouve pas d'information précise sur ce point, il pourrait avoir été un rêve. Ou de quelque chose.)
Qui a dit:
"&&" et "||" sont d'une une priorité plus élevée que "ET" et "OU" (peu de chances d'être pertinent, mais on ne sait jamais).
Beaucoup d'autres langues, le "&&" et "||", plutôt que des équivalents textuels de sorte qu'il pourrait être une idée pour aller avec ça.
Aussi longtemps que vous utilisez votre choisi ensemble d'opérateurs constante, il n'a pas vraiment d'importance.
Ce qui me dérange, c'est:
Vous pouvez l'imaginer il y a seulement la possible sortie de "1" (vrai) qu'il n'existe pas de cas qui a pu produire un faux... ...mais il va être "" (faux).
À l'aide de && comme un opérateur dans ce cas satisfait au moins à mes attentes:
Donc, dans certains cas, l'utilisation des questions de manière significative.
La différence est sur le priorité. Mais pas seulement par rapport les uns avec les autres!
Dans la plupart des cas, vous n'aurez pas l'esprit, mais il y a des cas spécifiques, lorsque vous avez à prendre un peu de recul et de regarder la grande image. Prenez ceci, par exemple:
Cela va produire, respectivement:
En d'autres termes,
&&
a une plus grande préférence=
, qui a une priorité plus élevée queand
, comme indiqué dans http://php.net/manual/en/language.operators.precedence.php. (Il est mentionné dans d'autres réponses, mais je pense que ça vaut la peine de détail, car une mauvaise utilisation peut conduire à des erreurs logiques)J'espère que ça peut vous aider. Vous pouvez trouver plus à http://php.net/manual/en/language.operators.logical.php