2010-09-02 34 views
4

是什么

<?php echo '$test'; ?> 

<?=$test?> 

之间的区别?

+0

我想你的意思是<?php echo $ test; ?>和 Justin 2010-09-02 02:39:42

+0

@Justin:很可能。有人可以关闭这个问题吗? – polemon 2010-09-02 02:51:28

+0

@polemon - 如果您认为应该关闭,请提及重复/原因。 – 2010-09-02 04:46:37

回答

8

前者输出文字字符串$test,后者输出值$test

+1

如果您打开了短标签。 – 2010-09-02 04:42:31

10

假设你的意思是<?php echo $test; ?>,这两者实际上是一回事。问题是,你想成为多么便携。 <?php ?>几乎支持PHP的任何地方,但很多管理员禁用<?= ?>语法。

+0

我相信他错打了他的问题... – polemon 2010-09-02 02:50:40

+0

@polemon - 同意 – 2010-09-02 02:52:43

1

我倾向于使用<?= ?>(称为short_open_tags)作为模板或脚本的“视图”部分。但是,这必须在php.ini中明确启用,因此如果您正在使用脚本进行分发,最好避免使用它,除非您不关心脚本的买方/用户是否可能没有打开short_open_tags

+1

此外,启用'short_open_tags'使得''而不是''可以有意想不到的副作用,因为PHP不是唯一使用带有问号格式的标签(首先,一个有效的XHTML页面应该有一个xml标签,看起来像'')。 – Tgr 2010-09-02 05:17:57

3

<?= $test ?>是相同的<?php echo $test; ?>

自PHP 5.4.0本<?= ... ?>标签始终可用,无论php.ini设置短标签和short_open_tag的值为指令只controls<? ... ?>标签。

另外,relevant answer

通常建议不要使用短标签,但仅适用于较长版本的模板中的简单输出,仅适用于更复杂的逻辑。这使得PHP代码更容易混乱,更易读。

相关问题