什么是短回声标记<! - ?=? - >?它是如何工作的?它比<! - ?php? - >标签有什么优势?

时间:2017-11-09 17:13:09

标签: php tags echo

我正在阅读PHP手册。

我在手册&#34中遇到了以下句子:还有一个短回声标记,它始终在PHP 5.4.0及更高版本中提供&#34;。

我不明白这是什么意思?

我尝试使用所谓的短回显标记执行以下代码,因为手册说它始终可用于 PHP 5.4.0及更高版本。我使用 PHP 7.1.10

<!DOCTYPE HTML>
<html>
    <head>
        <title>Example</title>
    </head>
    <body>

        <p>This is going to be ignored by PHP and displayed by the browser.</p>
        <?= echo 'While this is going to be parsed.'; ?>
        <p>This will also be ignored by PHP and displayed by the browser.</p>

    </body>
</html>

我收到以下错误:

Parse error: syntax error, unexpected 'echo' (T_ECHO) in C:\xampp\htdocs\php_playground\hello.php on line 9

如果它始终可用,那么为什么我会收到此错误?

关于这个简短的回音标签<?= ?>

我有三个问题
  • 短回声标记<?= ?>究竟是什么?
  • 它是如何运作的?
  • <?php ?>代码相比有什么优势?
  • 由于已经存在<?php ?>标记,因此有什么必要?

感谢。

5 个答案:

答案 0 :(得分:7)

  

如果它始终可用,那么为什么我会收到此错误?

因为您在echo之后添加了<?=语句。你应该把你想要回应的表达式。

错误表示“意外回声”,它与短标签没有直接关系。

  

短回声标记<?= ?>究竟是什么?

回复内容的标记。

  

它是如何运作的?

它回应你放入其中的任何表达

  

<?php ?>代码相比,它有什么优势?

更短

  

由于已经存在<?php ?>标记,它有什么必要?

没有必要。这很方便。编程语言可以让程序员更轻松地生活。如果它们只包含必要的东西,那么我们都将使用汇编语言进行编程。

答案 1 :(得分:2)

为什么?

为什么要为Dr.撰写doctor。只是为了让它更小。同样,<?= ... ?><?php echo ... ?>相同,但只是更小更整洁的形式。

主要优势是可读性。它使代码更容易阅读。

并修复错误:

使用短回声标记

时无需使用echo
<?= 'While this is going to be parsed.' ?>

<?= echo 'While this is going to be parsed.'; ?>

<强>更新

刚刚看到这个流程图,认为它可能会有所帮助 enter image description here

答案 2 :(得分:0)

<?=优于<?php echo的优势在于它使您的代码更具可读性的大小差异。因此好一点。

例如,假设您有变量$hello,您只想打印它,您可以使用:

<?=$hello;?>

OR

<?php echo $hello; ?>

OR

<?php print_r($hello); ?>

甚至

<?php var_dump($hello); ?>

现在,您告诉我,哪一个更容易阅读,并且更容易适合清晰的代码?只需要编写的代码就少了。

答案 3 :(得分:0)

首先

<?= ?><?php echo ?>

的简写

所以这将是<?= 'While this is going to be parsed.'; ?>

请注意,如果你想使用那个简短的手,你必须通知你的php.ini

short_open_tag = On

这种速记主要用于模板或快速写作。例如:

如果您撰写<h1><?php echo $title; ?></h1>

<h1><?= $title; ?></h1>会更容易

答案 4 :(得分:-2)

为了使<?=短标记起作用,您需要在配置上编辑php.ini文件,以便它可以正常工作

<?=等于<?php echo

因此,这比输入echo更简单,但不要使用这种编码方式,因为员工很难理解。