是什么
<?php echo '$test'; ?>
和
<?=$test?>
之间的区别?
是什么
<?php echo '$test'; ?>
和
<?=$test?>
之间的区别?
前者输出文字字符串$test
,后者输出值$test
。
如果您打开了短标签。 – 2010-09-02 04:42:31
假设你的意思是<?php echo $test; ?>
,这两者实际上是一回事。问题是,你想成为多么便携。 <?php ?>
几乎支持PHP的任何地方,但很多管理员禁用<?= ?>
语法。
我相信他错打了他的问题... – polemon 2010-09-02 02:50:40
@polemon - 同意 – 2010-09-02 02:52:43
我倾向于使用<?= ?>
(称为short_open_tags
)作为模板或脚本的“视图”部分。但是,这必须在php.ini中明确启用,因此如果您正在使用脚本进行分发,最好避免使用它,除非您不关心脚本的买方/用户是否可能没有打开short_open_tags
。
此外,启用'short_open_tags'使得' ... ?>'而不是''可以有意想不到的副作用,因为PHP不是唯一使用带有问号格式的标签(首先,一个有效的XHTML页面应该有一个xml标签,看起来像'')。 – Tgr 2010-09-02 05:17:57
<?= $test ?>
是相同的<?php echo $test; ?>
自PHP 5.4.0本<?= ... ?>
标签始终可用,无论php.ini设置短标签和short_open_tag的值为指令只controls<? ... ?>
标签。
另外,relevant answer。
通常建议不要使用短标签,但仅适用于较长版本的模板中的简单输出,仅适用于更复杂的逻辑。这使得PHP代码更容易混乱,更易读。
我想你的意思是<?php echo $ test; ?>和=$test?> – Justin 2010-09-02 02:39:42
@Justin:很可能。有人可以关闭这个问题吗? – polemon 2010-09-02 02:51:28
@polemon - 如果您认为应该关闭,请提及重复/原因。 – 2010-09-02 04:46:37