Blogger Information
Blog 30
fans 0
comment 1
visits 24068
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
0109分支与循环的模板语法笔记
Original
599 people have browsed it

分支的模板语法

模板语法主要是解决HTML与PHP混编时代码太多不方便观察阅读,使用模板语法使代码简介清晰,也方便日后维护。

单分支if

普通语法
if(条件){
执行语句;
}

  1. <?php
  2. //分支的模板语法
  3. //单分支普通语法
  4. $grade = 80;
  5. if($grade>=59){
  6. echo '<h2>及格</h2>';
  7. }
  8. ?>

模板语法
<?php if(条件):?>
执行语句
<?php endif;?>

  1. //单分支模板语法
  2. <?php if($grade>=59):?>
  3. <h2>及格</h2>
  4. <?php endif;?>

两个语法输出结果是一样的,都是‘及格’。

双分支IF()ELSE

普通语法
if(条件){
执行语句;
}else{
执行语句;
}

  1. <?php
  2. //双分支普通语法
  3. $week = 5;
  4. if($week>0 && $week<=5){
  5. echo '<p>去上班</p>';
  6. }else{
  7. echo '<p>在家休息</p>';
  8. }
  9. ?>

模板语法
<?php if(条件):?>
执行语句
<?php else:?>
执行语句
<?php endif;?>

  1. //双分支模板语法
  2. <?php if($week>0 && $week<=5):?>
  3. <p>去上班</p>
  4. <?php else:?>
  5. <p>在家休息</p>
  6. <?php endif;?>

多分支if()elseif()else

普通语法
if(条件){
执行语句;
}elseif(条件){
执行语句;
}else{
执行语句;
}

  1. <?php
  2. $week = 6;
  3. //多分支普通语法
  4. if($week>0 && $week<=2){
  5. echo '<p>一周才开始</p>';
  6. }elseif($week>2 && $week<=4){
  7. echo '<p>还得继续上班</p>';
  8. }elseif($week>4 && $week<=5){
  9. echo '<p>快休息了</p>';
  10. }else{
  11. echo '<p>可以在家休息了</p>';
  12. }
  13. ?>

模板语法
<?php if(条件):?>
执行语句
<?php elseif(条件):?>
执行语句
<?php else:?>
执行语句
<?php endif;?>

  1. $week = 6;
  2. <?php if($week>0 && $week<=2):?>
  3. <p>一周才开始</p>
  4. <?php elseif($week>2 && $week<=4):?>
  5. <p>还得继续上班</p>
  6. <?php elseif($week>4 && $week<=5):?>
  7. <p>快休息了</p>
  8. <?php else:?>
  9. <p>可以在家休息了</p>
  10. <?php endif;?>

多分支switch

普通语法
switch(true){
case 条件:
执行语句;
break;
case 条件:
执行语句;
break;
case 条件:
执行语句;
break;
default:
执行语句;
}

  1. <?php
  2. $week = 6;
  3. //多分支switch普通语法
  4. switch(true){
  5. case $week>0 && $week<=2:
  6. echo '<p>一周才开始</p>';
  7. break;
  8. case $week>2 && $week<=4:
  9. echo '<p>还得继续上班</p>';
  10. break;
  11. case $week>4 && $week<=5:
  12. echo '<p>快休息了</p>';
  13. break;
  14. default:
  15. echo '<p>可以在家休息了</p>';
  16. }
  17. ?>

模板语法
switch的模板语法要特别注意,和其他的不太一样,switch与第一个case之间不能有内容输出,最好写在一个<?php ?>标签里面。
<?php switch(true):
case 条件:?>
执行语句
<?php break;?>
<?php case 条件:?>
执行语句
<?php break;?>
<?php default;?>
执行语句
<?php endswitch;?>

  1. $week = 6;
  2. <?php switch(true):
  3. case $week>0 && $week<=2:?>
  4. <p>一周才开始</p>
  5. <?php break;?>
  6. <?php case $week>2 && $week<=4:?>
  7. <p>还得继续上班</p>
  8. <?php break;?>
  9. <?php case $week>4 && $week<=5:?>
  10. <p>快休息了</p>
  11. <?php break;?>
  12. <?php default:?>
  13. <p>可以在家休息了</p>
  14. <?php endswitch;?>

循环的模板语法

for循环

普通语法
for(设置初始循环变量;条件;循环变量更新){
执行语句;
}

  1. <?php
  2. $arr = ['html','css','js','php'];
  3. for($i = 0;$i < count($arr);$i++){
  4. echo '<span>循环输出的值为:'.$arr[$i].'</span><br>';
  5. }
  6. ?>

模板语法
注意:执行语句里面有HTML代码,也有变量,要解析变量,就要用<?php ?>标签把变量包裹起来然后在里面写上PHP代码。
<?php for(设置初始循环变量;条件;循环变量更新):?>
执行语句
<?php endfor;?>

  1. $arr = ['html','css','js','php'];
  2. <?php for($i = 0;$i < count($arr);$i++):?>
  3. <!-- 执行语句里面有HTML代码,也有变量,要解析变量,就要用<?php ?>标签把变量包裹起来然后在里面写上PHP代码 -->
  4. <span>循环输出的值为:<?php echo $arr[$i]?></span><br>
  5. <?php endfor;?>

while循环

普通语法
设置初始变量;
while(条件){
执行语句;
初始变量更新;
}

  1. <?php
  2. $arr = ['html','css','js','php'];
  3. $i = 0;
  4. while($i < count($arr)){
  5. echo '<span>循环输出的值为:'.$arr[$i].'</span><br>';
  6. $i++;
  7. }
  8. echo '<hr>';
  9. ?>

模板语法

  1. <?php $i = 0;
  2. while($i < count($arr)):?>
  3. <span>循环输出的值为:<?php echo $arr[$i]?> </span><br>
  4. <?php $i++;?>
  5. <?php endwhile;?>

foreach循环

普通语法

  1. <?php
  2. $navs = [
  3. ['name'=>'首页','url'=>'index.php'],
  4. ['name'=>'新闻','url'=>'news.php'],
  5. ['name'=>'关于我们','url'=>'about.php'],
  6. ];
  7. foreach($navs as $nav){
  8. echo '<a href="'.$nav['url'].'">'.$nav['name'].'</a>';
  9. }
  10. ?>

模板语法

  1. $navs = [
  2. ['name'=>'首页','url'=>'index.php'],
  3. ['name'=>'新闻','url'=>'news.php'],
  4. ['name'=>'关于我们','url'=>'about.php'],
  5. ];
  6. <?php foreach($navs as $nav):?>
  7. <a href="<?php echo $nav['url']?>"><?php echo $nav['name']?> </a>
  8. <?php endforeach;?>

关于模板语法里执行代码里面有HTML代码与PHP变量,可以使用<?php ?>标签把变量(或者其他的PHP命令包裹起来),如果只是单个变量可以使用<?=变量名?>来处理,以上面foreach语言为例

  1. $navs = [
  2. ['name'=>'首页','url'=>'index.php'],
  3. ['name'=>'新闻','url'=>'news.php'],
  4. ['name'=>'关于我们','url'=>'about.php'],
  5. ];
  6. <?php foreach($navs as $nav):?>
  7. //这里使用的就是<?=变量名?>的方法
  8. <a href="<?=$nav['url']?>"><?=$nav['name']?> </a>
  9. <?php endforeach;?>

最终输出的效果是一样的。

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post