模板语法主要是解决HTML与PHP混编时代码太多不方便观察阅读,使用模板语法使代码简介清晰,也方便日后维护。
普通语法
if(条件){
执行语句;
}
例
<?php
//分支的模板语法
//单分支普通语法
$grade = 80;
if($grade>=59){
echo '<h2>及格</h2>';
}
?>
模板语法
<?php if(条件):?>
执行语句
<?php endif;?>
例
//单分支模板语法
<?php if($grade>=59):?>
<h2>及格</h2>
<?php endif;?>
两个语法输出结果是一样的,都是‘及格’。
普通语法
if(条件){
执行语句;
}else{
执行语句;
}
例
<?php
//双分支普通语法
$week = 5;
if($week>0 && $week<=5){
echo '<p>去上班</p>';
}else{
echo '<p>在家休息</p>';
}
?>
模板语法
<?php if(条件):?>
执行语句
<?php else:?>
执行语句
<?php endif;?>
例
//双分支模板语法
<?php if($week>0 && $week<=5):?>
<p>去上班</p>
<?php else:?>
<p>在家休息</p>
<?php endif;?>
普通语法
if(条件){
执行语句;
}elseif(条件){
执行语句;
}else{
执行语句;
}
例
<?php
$week = 6;
//多分支普通语法
if($week>0 && $week<=2){
echo '<p>一周才开始</p>';
}elseif($week>2 && $week<=4){
echo '<p>还得继续上班</p>';
}elseif($week>4 && $week<=5){
echo '<p>快休息了</p>';
}else{
echo '<p>可以在家休息了</p>';
}
?>
模板语法
<?php if(条件):?>
执行语句
<?php elseif(条件):?>
执行语句
<?php else:?>
执行语句
<?php endif;?>
例
$week = 6;
<?php if($week>0 && $week<=2):?>
<p>一周才开始</p>
<?php elseif($week>2 && $week<=4):?>
<p>还得继续上班</p>
<?php elseif($week>4 && $week<=5):?>
<p>快休息了</p>
<?php else:?>
<p>可以在家休息了</p>
<?php endif;?>
普通语法
switch(true){
case 条件:
执行语句;
break;
case 条件:
执行语句;
break;
case 条件:
执行语句;
break;
default:
执行语句;
}
例
<?php
$week = 6;
//多分支switch普通语法
switch(true){
case $week>0 && $week<=2:
echo '<p>一周才开始</p>';
break;
case $week>2 && $week<=4:
echo '<p>还得继续上班</p>';
break;
case $week>4 && $week<=5:
echo '<p>快休息了</p>';
break;
default:
echo '<p>可以在家休息了</p>';
}
?>
模板语法
switch的模板语法要特别注意,和其他的不太一样,switch与第一个case之间不能有内容输出,最好写在一个<?php ?>标签里面。
<?php switch(true):
case 条件:?>
执行语句
<?php break;?>
<?php case 条件:?>
执行语句
<?php break;?>
<?php default;?>
执行语句
<?php endswitch;?>
例
$week = 6;
<?php switch(true):
case $week>0 && $week<=2:?>
<p>一周才开始</p>
<?php break;?>
<?php case $week>2 && $week<=4:?>
<p>还得继续上班</p>
<?php break;?>
<?php case $week>4 && $week<=5:?>
<p>快休息了</p>
<?php break;?>
<?php default:?>
<p>可以在家休息了</p>
<?php endswitch;?>
普通语法
for(设置初始循环变量;条件;循环变量更新){
执行语句;
}
例
<?php
$arr = ['html','css','js','php'];
for($i = 0;$i < count($arr);$i++){
echo '<span>循环输出的值为:'.$arr[$i].'</span><br>';
}
?>
模板语法
注意:执行语句里面有HTML代码,也有变量,要解析变量,就要用<?php ?>标签把变量包裹起来然后在里面写上PHP代码。
<?php for(设置初始循环变量;条件;循环变量更新):?>
执行语句
<?php endfor;?>
例
$arr = ['html','css','js','php'];
<?php for($i = 0;$i < count($arr);$i++):?>
<!-- 执行语句里面有HTML代码,也有变量,要解析变量,就要用<?php ?>标签把变量包裹起来然后在里面写上PHP代码 -->
<span>循环输出的值为:<?php echo $arr[$i]?></span><br>
<?php endfor;?>
普通语法
设置初始变量;
while(条件){
执行语句;
初始变量更新;
}
例
<?php
$arr = ['html','css','js','php'];
$i = 0;
while($i < count($arr)){
echo '<span>循环输出的值为:'.$arr[$i].'</span><br>';
$i++;
}
echo '<hr>';
?>
模板语法
<?php $i = 0;
while($i < count($arr)):?>
<span>循环输出的值为:<?php echo $arr[$i]?> </span><br>
<?php $i++;?>
<?php endwhile;?>
普通语法
<?php
$navs = [
['name'=>'首页','url'=>'index.php'],
['name'=>'新闻','url'=>'news.php'],
['name'=>'关于我们','url'=>'about.php'],
];
foreach($navs as $nav){
echo '<a href="'.$nav['url'].'">'.$nav['name'].'</a>';
}
?>
模板语法
$navs = [
['name'=>'首页','url'=>'index.php'],
['name'=>'新闻','url'=>'news.php'],
['name'=>'关于我们','url'=>'about.php'],
];
<?php foreach($navs as $nav):?>
<a href="<?php echo $nav['url']?>"><?php echo $nav['name']?> </a>
<?php endforeach;?>
关于模板语法里执行代码里面有HTML代码与PHP变量,可以使用<?php ?>标签把变量(或者其他的PHP命令包裹起来),如果只是单个变量可以使用<?=变量名?>来处理,以上面foreach语言为例
$navs = [
['name'=>'首页','url'=>'index.php'],
['name'=>'新闻','url'=>'news.php'],
['name'=>'关于我们','url'=>'about.php'],
];
<?php foreach($navs as $nav):?>
//这里使用的就是<?=变量名?>的方法
<a href="<?=$nav['url']?>"><?=$nav['name']?> </a>
<?php endforeach;?>
最终输出的效果是一样的。