为什么语法有不同的结果?
例如
# Example 1
if($myCondition == true) :
#my code here
endif;
if($myCondition == true) {
#my code here
}
# Example 2
foreach($films as $film) :
#my code here
endforeach;
foreach($films as $film) {
#my code here
}
此外,我现在已经使用<?=
多年了,我现在明白已弃用,我应该使用<?php echo
这是事实吗?为什么?每次写出来都会更烦人。
你有什么想法?
答案 0 :(得分:1)
冒号endif,endforeach等语法称为Alternative Syntax。我不能确定为什么这个功能存在,只是它确实存在并得到支持。我可以说我已经注意到替代语法更多地用于模板目的,其中很容易选择endif / endforeach而不是HTML标记中间的结束花括号。
<?=
被称为短开标签。您可以在Are PHP short tags acceptable to use?
答案 1 :(得分:1)
为什么结果会有所不同?没有括号的那个被称为alternative syntax for control structures并且非常有用,例如在处理HTML时。
<?php echo
更加便携,因为可以禁用短打开标签,默认情况下禁用它们,因为PHP 5.3