タイトルの通りだが、理由は公式のレファレンスに書いてある。
PHP: empty - Manual
注意: これは、関数ではなく 言語構造のため、可変関数 を用いて コールすることはできません。
故に、以下のようなコードはエラーになる。
<?php $array['data'][] = ''; $array['data'][] = ''; $array['data'][] = ''; $array['data'][] = ''; var_dump(array_map("empty", $array));
PHP Warning: array_map() expects parameter 1 to be a valid callback, function 'empty' not found or invalid function name
ってね。
追記
同様の理由でissetも使えない