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

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

【问题讨论】:

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

标签: php asp-classic tags short


【解决方案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,用户更容易使用您的脚本。

【讨论】:

    猜你喜欢
    • 2011-02-18
    • 2011-07-30
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2022-01-19
    • 2011-06-24
    • 1970-01-01
    • 2023-03-18
    相关资源
    最近更新 更多