割り当ての優先順位が他のどの演算子よりも高いのは私だけですか、それとも奇妙ですか?PHPの例私はちょうど出くわしました:
function test($param1) {
$result = TRUE;
for ($i = 0; $i <; strlen($param1); $i++) {
if (!(ord($param1[$i]) >= 65 && ord($param1[$i]) <=90)) {
$result = $result && FALSE;
}
}
return $result;
}
この関数を呼び出すときの目的は、文字列にAZの範囲内のすべての文字が含まれているかどうかを確認することです(より良い方法がある場合は、それらについて聞くのがよいでしょう)。重要な部分は$result = $result && FALSE
、右側を評価してその値FALSE
を割り当てると私が考えていたものです。$result
しかし、いいえ。この小さなバグ/機能は、追跡をいくらか落としました。
の割り当てが$result = $result
最初に実行され、次に誰にも操作TRUE && FALSE;
が実行されないようです。$result = ($result && FALSE);
私は実際、どちらが非常に奇妙に見える かを明確に指示しなければなりませんでした。
とにかく、これがどのように特に便利な「機能」を持っているのかわかりませんか?何かアイデアがありますか、それとも本当に基本的なものが欠けていますか?