<?= 是一个有效的 php 语句吗?

Posted

技术标签:

【中文标题】<?= 是一个有效的 php 语句吗?【英文标题】:Is <?= a valid php statement? 【发布时间】:2012-01-29 02:18:05 【问题描述】:

是否有一个 php.ini 设置来打开&lt;?=$phpval?&gt;-style 输出,或者这个项目中的某个人使用了过多的 ASP?

【问题讨论】:

"吸烟到 ASP 多吗?"黄金报价。 附带说明,您可以使用 ideone 等在线编辑器快速检查 php 语法。 您也可以在您的网络浏览器中快速加载 PHP 手册。 【参考方案1】:

是的,

<?php $var = 'Hello, World!"; ?>
<?= $var ?>

同;

<?php $var = 'Hello, World!"; ?>
<?php echo $var; ?>

【讨论】:

&lt;?= 实际上是 &lt;?php echo 的缩写,而不是 &lt;?php print。 echo 与 print 不同,因为它允许一次输出多个字符串,而 print 只允许一个。【参考方案2】:

有,但已弃用。 您正在寻找short_open_tag,它启用&lt;?(危险,因为xml开始标签相同)和&lt;?=(没有危险)

从 php 5.4 开始,&lt;?= 将被启用,即使 short_open_tag 设置为 Off。 见the documentation。

【讨论】:

请注意,&lt;?= 在 PHP 5.4 中始终是允许的,无论 short_open_tag 是否打开。 @duskwuff:这就是我想说的,但没有将&lt;?= 放在` 之间'搞砸了我的答案。 另请注意,在 php 3.3.8(可能还有早期版本)中,它使用 short_open_tag php.ini 指令打开/关闭。此外,如果您在 ini 文件中更改该设置,请重新启动apache 仍然没有任何反应,请确保您使用正确的 ini 文件,如 phpinfo();德普。 什么?!他们为什么要这样做?! @LightnessRacesinOrbit:“那个”是什么意思?【参考方案3】:

是的,它是一个有效的声明,正如@greg0ire 所提到的,您可以通过在 php.ini 中编辑 short_open_tag 来打开它,但是使用 &lt;?php 被认为是一种更好的做法,特别是如果您正在编写应用程序向公众出售,因为 &lt;?php 可以与大多数共享主机配置一起使用,但 &lt;? 有时不允许/未激活,因此如果您使用 &lt;?php,用户更容易使用您的脚本。

【讨论】:

以上是关于<?= 是一个有效的 php 语句吗?的主要内容,如果未能解决你的问题,请参考以下文章

当用`return`语句不结束php函数时,它被认为是“坏风格”吗?

(4 > y > 1) 是 C++ 中的有效语句吗?如果是,你如何评价?

使用多个 LIKE 语句和 REGEXP 的查询可以更有效吗?

我误解了 continue 语句吗?

PHP中如何判断SQL语句是不是成功执行?

ORA-00900:PHP中无效的SQL语句,但在sqlplus中有效