博主信息
博文 30
粉丝 0
评论 1
访问量 30336
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
0109分支与循环的模板语法笔记
原创
781人浏览过

分支的模板语法

模板语法主要是解决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;?>

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

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学