替代语法
替代语法是在HTML模板中嵌入PHP代码时的一种可读性更好的语法,其基本形式就是把if、while、for、foreach 和switch的左花括号“{”换成冒号“:”,把右花括号“}”分别换成“endif;”“endwhile;”“endfor;”“endforeach;”和“endswitch;”。
下面通过代码演示替代语法的使用。假设想要将$info数组中年龄大于11岁的学生信息取出来,并将其显示在表格中,$info数组的具体代码如下。
// 定义一个学生信息数组
$info = [
['name' => 'Tom', 'age' => 12],
['name' => 'King', 'age' => 11],
['name' => 'Davis', 'age' => 15]
];
接下来,使用流程替代语法实现输出$info数组到表格中,具体代码如下。
<table>
<tr><td>姓名</td><td>年龄</td></tr>
<?php foreach ($info as $k): ?>
<?php if ($k['age'] > 11): ?>
<tr>
<td><?=$k['name']?></td>
<td><?=$k['age']?></td>
</tr>
<?php endif; ?>
<?php endforeach; ?>
</table>
从上述代码可以看出,foreach和if语句的开始和结束位置很明确,避免了大括号容易分不清流程语句开始和结束的位置的问题,增强了代码的可读性。其中,第6、7行的<?=?>是一种简写的输出语法,其完整形式为“<?php echo … ?>”。