錫さんの雑多メモ

デザインとかプログラミングとかデッサンとかを、のんびりお勉強しているにゃんこのブログ。

慣れた作業こそ初心に返れ

お恥ずかしいけれど本当の話。


たとえば、"下記条件を満たす場合に何かしらの処理を実行したい"と考えたとします。

$testResultの中身が空、もしくは-1の場合

(※当該変数に0はセットされない想定)

 

この時、PHPでシンプルに書くならば

if (empty($testResult) || $testResult == -1) {

    // 実行したい処理

}

もしくは

if (empty($testResult) || $testResult === -1) {

    // 実行したい処理

}

になると思うのですが。

 

今日、上記を書いたつもりが書けてなくて(下記のように書いてしまって)、

"$testResultの中身が空でも-1でもないのに、if文の中に入ってしまう…"という事象を

発生させてしまいました。

if (empty($testResult) || $testResult = -1) {

    // 実行したい処理

}

 

しかも、"分岐直前に仕込んだログ"が明らかな結果を示してくれているのに、

それに気づかず、"直前処理の不備"を数時間疑い続けるという…

当然不備が見つかるはずもなく、さらに混乱して冷静さを失う悪循環でした。

 

以上の経験をしたので、未来の自分のためにメモを残しておきます。