1

为什么有不同的语法相同的结果?

例如

# 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这种情况,为什么?每次都要写出来更烦人。

你怎么认为?

4

2 回答 2

1

冒号 endif、endforeach 等语法称为替代语法。我不能确定为什么存在此功能,只是它确实存在并且受支持。我可以说我注意到替代语法更多地用于模板目的,其中很容易挑选出 endif/endforeach,而不是 HTML 标记中间的右花括号。

<?=称为短开标签。您可能可以在此处找到有关其使用所需的所有信息PHP 短标签是否可以使用?

于 2010-06-11T11:25:31.643 回答
1

为什么结果会不一样?不带方括号的称为控制结构的替代语法,非常有用,例如在处理 HTML 时。

<?php echo更便携,因为可以禁用短打开标签,并且从 PHP 5.3 开始默认禁用

于 2010-06-11T11:25:51.517 回答