伙计,我可以发誓我在什么地方见过它,缩短<?php echo $var ?>构造的有用语法,我认为它是<?=$var?>,但它不工作。我已经搜索了大约半个小时,但仍然找不到告诉我这件事的网站,我也找不出正确的语法。
是我产生了幻觉,还是真的有这样的语法?
<div style="background-color:<?=$backgroundColorFromPhp?>">
Hello <?=$name?>!
</div>发布于 2012-03-06 07:15:10
PHP在php.ini中有short_open_tag指令,它支持以下语法:
<? PHP code here; ?>而不是<?php PHP code here; ?>。
它还支持
<?= variable ?>作为<? echo variable; ?>的简写。文档指出,从PHP5.4.0开始,无论short_open_tag设置如何,都将启用<?=。
非常类似的是asp_tags。它启用了经典的ASP样式语法:
<% PHP code here; %>
<%= variable %>这就是回声速记语法最初的来源。附注:在经典的ASP中,<%= ...将取代相当冗长的表单:
<% Response.Write variable %>发布于 2012-03-06 07:07:05
当启用short_open_tag时,
<?= $backgroundColorFromPhp ?>是一个快捷方式,
<?php echo $backgroundColorFromPhp; ?> 但是,如果禁用了short_open_tag,
<?= $backgroundColorFromPhp ?>也将被禁用( PHP 5.4之前的版本)。
发布于 2012-03-06 07:09:50
是的,这是正确的,给出了一些警告。
首先,你必须有short tags on。根据我的经验,这是默认配置,正如上面的文档所指出的那样;
其次,您需要PHP解析该文件。如果文件是.html文件,php引擎不会自动解析它。你需要以某种方式运行它,或者告诉php默认读取.html文件。
最后,我喜欢在其中添加end statement分号(将其设置为<?=$name;?>),但我认为这是首选。
https://stackoverflow.com/questions/9575431
复制相似问题