流程控制的替代语法

PHP 提供了一些流程控制的替代语法,包括 if,while,for,foreach 和 switch。替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;。

<?php if ($a == 5): ?>
A is equal to 5
<?php endif; ?>
<?php
if ($a == 5):
echo "a equals 5";
echo "...";
elseif ($a == 6):
echo "a equals 6";
echo "!!!";
else:
echo "a is neither 5 nor 6";
endif;
?>

Note:

不支持在同一个控制块内混合使用两种语法。

主要是在 HTML 模板里用这种写法比较清晰。

link

wordpress 内大括号的使用风格

大括号应该在含有多行的代码块中使用:

if ( condition ) {
    action1();
    action2();
} elseif ( condition2 && condition3 ) {
    action3();
    action4();
} else {
   defaultaction();
}

为了简洁,只含有一行的代码块可以省去大括号:

if ( condition )
    action1();
elseif ( condition2 )
    action2();
else
    action3();

如果任何一个逻辑相关(比如判断)的代码块含有多行代码,那么所有的相关代码块都应该用大括号包含.

if ( condition ) {
    action1();
} elseif ( condition2 ) {
    action2a();
    action2b();
}

循环应该总是放到大括号里面以增强可读性,这样一来也可以允许调试或者增加额外的功能编辑里面的代码.

foreach ( $items as $item ) {
    process_item( $item );
}
作者 铁血 汉子 2016年6月12日
2024/04/24/11:42:33am 2016/6/12/17:44:25
0 1899