您的位置:首页 > 编程语言 > PHP开发

php的流程控制的替代语法

2017-04-09 21:58 501 查看
我们经常在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;
>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: