今日、興味深いコード スニペットを見つけました。簡略化すると、次のようになります。
$var = null;
$var or $var = '123';
$var or $var = '312';
var_dump($var);
問題は、私が知っているように、割り当ての優先順位がそれよりも高いということですOR
。したがって、私が想定しているように、var_dump
出力する必要があります312
(最初に割り当て、2 番目に論理的に比較します)。しかし、結果は異なります。私は取得してい123
ます(最初に-$var
に変換するかどうかを確認しtrue
、2番目に-そうでない場合は値を割り当てます)。
質問は、それがどのように機能するかです。
と の動作が同じなのはなぜor
ですか||
?