【发布时间】:2015-12-23 22:52:05
【问题描述】:
具体来说,为什么下面的代码可以工作(输出“test”)。
<?
$variable = 'test';
?>
<?=$variable?>
这是 hacky 还是功能?
【问题讨论】:
-
它们是短标签。
<?===<?php echo -
PHP 很老套。现在是 21 世纪,人们仍在使用它。
具体来说,为什么下面的代码可以工作(输出“test”)。
<?
$variable = 'test';
?>
<?=$variable?>
这是 hacky 还是功能?
【问题讨论】:
<?= == <?php echo
<?=?> 是echo(); 的短标签
根据PHP
输出所有参数。
echo 实际上不是一个函数(它是一种语言结构),所以你 不需要与它一起使用括号。回声(不像其他一些 语言结构)的行为不像函数,所以它不能 总是在函数的上下文中使用。另外,如果你想 要将多个参数传递给 echo,参数不能是 括在括号内。
echo 还有一种快捷语法,您可以立即按照 带等号的开始标签。在 PHP 5.4.0 之前,这个简短的语法 仅适用于启用 short_open_tag 配置设置。
也给你下一个例子:
我有
<?=$foo?>foo。
【讨论】:
= 之后的所有内容,如果你放一个空格,它会尝试回显,但由于不在' 或" 内连接到一个字符串,它会失败。它回答了你的问题,接受它作为“最佳答案”......