php – 带有大括号和没有大括号的echo有什么区别,为什么两种方法都存在?
|
问题出在标题中. 我想我们大多数人在PHP中编程学会回应“字符串”;虽然常见,但我想知道为什么我们使用它与任何其他功能如此不同. 那我们为什么要: 回声“一些字符串”; 代替 echo(“Some String”); 为什么两者都存在并且行为不同?有没有提到为什么做出这个选择? 编辑:我看到我的问题充斥着downvotes和upvotes.在任何一种方式投票时都要有建设性. 人们参考php文档,声明echo是一种语言结构,因此使用的方式不同.但在这种情况下,既然我们都可以将它用作构造和功能:这是首选方法?为什么它只应该是一种语言结构而实现两种方式呢? 编辑2:与上面相同,几乎都需要require,require_once,include和include_once.我在网上找不到任何解释 – 为什么这些结构也实现了功能性(在echo()的情况下,以一种有缺陷的方式). 从 php.net开始:
示例(从PHP 5.4.14开始): <?php
header('Content-Type: text/plain');
echo(1); // < works fine
echo(1,2,3); // < Parse error: syntax error,unexpected ',' on line 6
echo 1; // < works fine
echo 1,3; // < works fine
?>
UPDv1:
<?php
header('Content-Type: text/plain');
$print = 'print_r';
$print(1); // < works fine
$echo = 'echo';
$echo(1); // < Fatal error: Call to undefined function echo() on line 8
?>
UPDv2: 截至 fileA.php: <?php return 1; ?> fileB.php: <?php return 'abc'; ?> 测试: <?php
header('Content-Type: text/plain');
echo (include 'fileA.php'); // one way
echo PHP_EOL;
echo include('fileB.php'); // another way
?>
显示: 1 abc 在php.net的例子#4和#5中提到了它. 因为像’fileA.php’=”OK’这样的表达式并不明显(根据operator precedence),你应该将它们括在括号中,或者使用“类似函数”的方法:(包括’fileA.php’)==’确定’或包含(‘fileA.php’)==’确定’. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
