差异<! - ?php echo'$ test'; ? - >和<! - ?= $ test? - >

时间:2010-09-02 02:27:30

标签: php

之间有什么区别
<?php echo '$test'; ?>

<?=$test?>

4 个答案:

答案 0 :(得分:10)

假设你真的意味着<?php echo $test; ?>,那两者实际上是相同的。问题是,你想要多么便携。支持PHP的任何地方都支持<?php ?>,但许多管理员禁用<?= ?>语法。

答案 1 :(得分:8)

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

答案 2 :(得分:3)

<?= $test ?><?php echo $test; ?>

相同

自PHP 5.4.0以来,无论短标签上的php.ini设置如何,<?= ... ?>标记始终可用,而 short_open_tag 指令仅controls <? ... ?>标记

另外,relevant answer

通常建议不要使用短标签,但仅将它们用于模板中的简单输出非常方便,较长版本仅用于更复杂的逻辑。这使得PHP代码更易于阅读。

答案 3 :(得分:1)

我倾向于使用<?= ?>(名为short_open_tags)来模板或脚本的“视图”部分。但是这必须在php.ini中明确启用,所以如果你正在编写一个脚本进行分发,最好避免使用它,除非你不关心脚本的买家/用户是否可能没有{{1开启了。