php的流程控制的替代语法

我们经常在wordpress一类博客程序的模板里面看到很多奇怪的PHP语法,比如:

 <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>  
    <p><em><?php the_time('l, F jS, Y'); ?></em></p>
 <?php endwhile; else: ?>
    <p><?php _e('Sorry, there are no posts.'); ?></p>
 <?php endif; ?>

这里用的是":",而不是"{"啊


替代语法的基本形式:
左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;

举个例子吧:
<php if ($a<0): >
是负数拉
<php endif; >
上面的语句等同于
<php if ($a<0){ >
是负数拉
<php } >


为什么纯PHP代码里面几乎看不到?
这些语法有点不符合C家族的传统有点另类,大家不大习惯于这种语法,而且不是很方便


根据之前描述的使用方法,if语句的替代语法使用如下:
<php if ($a == 5): >
<div>等于5</div>
<php elseif ($a == 6): >
<div>等于5</div>
<php else: >
<div>不是5就是6</div>
<php endif; >


while替代语法:
<php while (expr): >
<li>循环点什么</li>
<php endwhile; >

for替代语法:
<php for (expr1; expr2; expr3): >
<li>循环点什么</li>
<php endfor; >
foreach替代语法:
<php foreach (expr1): >
<li>循环点什么</li>
<php endforeach; >


switch替代语法:
<php
switch ($i):
case 0:
echo "i equals 0";
break;
case 1:
echo "i equals 1";
break;
case 2:
echo "i equals 2";
break;
default:
echo "i is not equal to 0, 1 or 2";
endswitch;
>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值