35920


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

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

と言われます。

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

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


CC BY-SA 3.0
2017-06-24T12:16:54.923
35858
2017-06-27T15:48:59.533
14222
question
php
PHPのemptyでバックスラッシュを付けてはいけない理由


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

  * <http://php.net/manual/ja/tokens.php>


CC BY-SA 3.0
2017-06-27T15:48:59.533
35920
2017-06-27T15:48:59.533
4759
35858
answer