模板语法主要是解决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;?>
最终输出的效果是一样的。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号