PHP empty()

テスト製作中のプログラムが期待の動作をしないのでチェックしていると、理由は「empty*1の引数に関数を書いてしまっていた」事だった。

対処としては「関数の戻り値を変数に格納してからemptyでチェックする」だけで良いのだが。


以前に関数の説明を見た時には深く考えなかったが、こうして問題に直面してよく考えると、何故こんな手順を踏まなければならないのか謎な気もする。

*1:引数が「空」と判断される内容かどうかをチェックする関数。空行列、空文字列、数字の0とかがぜんぶemptyである。最近ではプロパティーのないオブジェクトもemptyらしい。