PHPのemptyでバックスラッシュを付けてはいけない理由

投稿者: Anonymous

PHPは7.0です。
empty()に他のjson_decode()などと同じようにバックスラッシュを付けて使おうとすると
(個人的にわかりやすいように今の名前空間より上にたどるものには関数もを付けるようにしています)

PHP Parse error: syntax error, unexpected 'empty' (T_EMPTY), expecting identifier (T_STRING) in パス

と言われます。

付けなかったら動くのですがこれはつまりPHPのグローバル名前空間?に定義された関数ではなく演算子のようなものということでしょうか?

もし他にもこのようなものの例がありましたら教えていただきたいです。

解決

metropolisさんが書かれているように、empty() はPHPのキーワードです。
この関数に見える empty() は、言語構造のため、通常の関数としての処理ではなく、解釈、実行されます。トークン一覧に存在する、例えば isset() なども同様かと思います。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *