昆布大好き!

主にプログラミングの技メモ

PHPの範囲チェック

<?php
$n = 19;
$ok = true;
$ok = $ok and is_numeric('a');
$ok = $ok and ($n < 1);
$ok = $ok and isset($no_var);
print(var_dump($ok));
?>

bool(true)

になる。

<?php
$n = 19;
$ok = true;
$ok = $ok && is_numeric('a');
$ok = $ok && ($n < 1);
$ok = $ok && isset($no_var);
print(var_dump($ok));
?>

bool(false)

と意図したとおりの判定になる。

論理演算子(and)よりも代入演算子(=)の方が優先順が上であるためこうなるのだが、 PHPプログラマはこの結果に納得できているのかしら。