【PHP】empty()関数の挙動めも。

ハマったのでめも。

まず関数定義

bool empty ( mixed $var )

ここで引数の$varに注意。PHP5.5より前のバージョンでは引数として変数しか受け取ることができない。
そのため式や関数をついでに評価してもらおうとすると、エラーで処理が止まってしまう。

下記動作する例。

$var = '12345';

$var = (int)$var;

$res = empty($var);

var_dump($res);

↓

bool(false)

下記エラーとなる例

$var = '12345';

$res = empty((int)$var);

var_dump($res);

↓

syntax error, unexpected T_INT_CAST