我知道include,isset,require,print,echo,和其他一些人都没有的功能,但语言结构.
其中一些语言结构需要括号,而其他语言结构则不需要.
require 'file.php';
isset($x);
Run Code Online (Sandbox Code Playgroud)
有些有返回值,有些则没有.
print 'foo'; //1
echo 'foo'; //no return value
Run Code Online (Sandbox Code Playgroud)
那么语言结构和内置函数之间的内部差异是什么?
问题出在标题中.
我想我们大多数人都是用php学习的echo "string";.虽然常见,但我想知道为什么我们使用它与任何其他功能如此不同.
那我们为什么要:
echo "Some String";
代替
echo("Some String");
为什么两者都存在并且行为不同?有没有提到为什么做出这个选择?
编辑:我看到我的问题充斥着downvotes和upvotes.在任何一种方式投票时都要有建设性.
人们参考php文档,声明echo是一种语言结构,因此使用的方式不同.但在这种情况下,既然我们都可以将它用作构造和功能:这是首选方法?为什么它只应该是一种语言结构而实现两种方式呢?
编辑2:同上差不多计数require,require_once,include和include_once.我在网上找不到任何解释 - 为什么这些结构也实现了功能性(在echo()的情况下,以一种有缺陷的方式).