J'essaie de comprendre le comportement de l' or
de l'opérateur. Veuillez voir les exemples ci-dessous:
$e = false || true;
var_dump($e);
La sortie est prévu: bool(true);
$f = false or true;
var_dump($f);
La sortie est prévu: bool(false)
. J'ai compris cela dans une manière que l' =
a une priorité plus élevée que l' Or
, c'est pourquoi l' $f
est attribué à l' false
.
Mais le code ci-dessous fonctionne tout à fait à l'opposé de ce que je pensais. Je pensais que l' $foo
sera attribuée 5
, puis de les comparer à lui-même.
Mais l' $foo
devient attribué que si l' $foo
est de définir ce qui signifie qu'il est en train de vérifier si l' $foo
est attribué à quoi que ce soit avant, attribuer 5.
$foo or $foo = 5;
Quelqu'un peut-il expliquer pourquoi il en est ainsi?