<?= 是一个有效的 php 语句吗?
Posted
技术标签:
【中文标题】<?= 是一个有效的 php 语句吗?【英文标题】:Is <?= a valid php statement? 【发布时间】:2012-01-29 02:18:05 【问题描述】:是否有一个 php.ini 设置来打开<?=$phpval?>
-style 输出,或者这个项目中的某个人使用了过多的 ASP?
【问题讨论】:
"吸烟到 ASP 多吗?"黄金报价。 附带说明,您可以使用 ideone 等在线编辑器快速检查 php 语法。 您也可以在您的网络浏览器中快速加载 PHP 手册。 【参考方案1】:是的,
<?php $var = 'Hello, World!"; ?>
<?= $var ?>
同;
<?php $var = 'Hello, World!"; ?>
<?php echo $var; ?>
【讨论】:
<?=
实际上是 <?php echo
的缩写,而不是 <?php print
。 echo 与 print 不同,因为它允许一次输出多个字符串,而 print 只允许一个。【参考方案2】:
有,但已弃用。
您正在寻找short_open_tag
,它启用<?
(危险,因为xml开始标签相同)和<?=
(没有危险)
从 php 5.4 开始,<?=
将被启用,即使 short_open_tag
设置为 Off。
见the documentation。
【讨论】:
请注意,<?=
在 PHP 5.4 中始终是允许的,无论 short_open_tag
是否打开。
@duskwuff:这就是我想说的,但没有将<?=
放在` 之间'搞砸了我的答案。
另请注意,在 php 3.3.8(可能还有早期版本)中,它使用 short_open_tag php.ini 指令打开/关闭。此外,如果您在 ini 文件中更改该设置,请重新启动apache 仍然没有任何反应,请确保您使用正确的 ini 文件,如 phpinfo();德普。
什么?!他们为什么要这样做?!
@LightnessRacesinOrbit:“那个”是什么意思?【参考方案3】:
是的,它是一个有效的声明,正如@greg0ire 所提到的,您可以通过在 php.ini 中编辑 short_open_tag
来打开它,但是使用 <?php
被认为是一种更好的做法,特别是如果您正在编写应用程序向公众出售,因为 <?php
可以与大多数共享主机配置一起使用,但 <?
有时不允许/未激活,因此如果您使用 <?php
,用户更容易使用您的脚本。
【讨论】:
以上是关于<?= 是一个有效的 php 语句吗?的主要内容,如果未能解决你的问题,请参考以下文章
当用`return`语句不结束php函数时,它被认为是“坏风格”吗?
(4 > y > 1) 是 C++ 中的有效语句吗?如果是,你如何评价?