在PHP中,为什么echo不作为函数实现?(不是回声与printf)

Hai*_*yen 5 php function language-construct echo

我只是好奇.在PHP中,为什么没有echo实现为函数?为什么PHP不给我们printf而且永远不讲述echo?请注意:

  • 这不是关于echovs. 的问题printf.
  • 我已经知道这echo是一种语言结构.

更新:顺便说一句,printf实施使用echo

Ren*_*gen 1

Echo 是一种语言结构。函数使用语言构造来完成其工作。解释并不是我的专长,但是谷歌的一次行动让我想到了这个话题:

PHP 中的语言构造和“内置”函数有什么区别?

一些重要内容:

...

这就是为什么您无法重新定义 echo 或 print 之类的语言构造的根本原因:它们被有效地硬编码到解析器中,而函数被映射到一组语言构造,并且解析器允许您在编译时更改该映射或运行时来替换您自己的一组语言结构或表达式。

...

  • @Hai Minh Nguyen:嗯,我不认为 Rasmus Lerdorf、Zeev Suraski 或 Andi Gutmans 在这里。我认为,作为 PHP 的最初创建者,只有他们才能对这种行为的“原因”给出令人满意的答案。(他们可能有一个,但它隐藏在时间的迷雾中,对我们这些凡人来说;)) (2认同)