2

今日、興味深いコード スニペットを見つけました。簡略化すると、次のようになります。

$var = null;

$var or $var = '123';

$var or $var = '312';

var_dump($var);

問題は、私が知っているように、割り当ての優先順位がそれよりも高いということですOR。したがって、私が想定しているように、var_dump出力する必要があります312(最初に割り当て、2 番目に論理的に比較します)。しかし、結果は異なります。私は取得してい123ます(最初に-$varに変換するかどうかを確認しtrue、2番目に-そうでない場合は値を割り当てます)。

質問は、それがどのように機能するかです。

と の動作が同じなのはなぜorですか||?

4

2 に答える 2

3

と同じ

$var = null;

if(!$var)$var = '123';
if(!$var)$var = '321';

var_dump($var);
于 2013-04-05T13:58:05.333 に答える