流程控制的替代语法

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

  1. <?php if ($a == 5): ?>
  2. A is equal to 5
  3. <?php endif; ?>
  1. <?php
  2. if ($a == 5):
  3. echo "a equals 5";
  4. echo "...";
  5. elseif ($a == 6):
  6. echo "a equals 6";
  7. echo "!!!";
  8. else:
  9. echo "a is neither 5 nor 6";
  10. endif;
  11. ?>

Note:

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

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

link

wordpress 内大括号的使用风格

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

  1. if ( condition ) {
  2. action1();
  3. action2();
  4. } elseif ( condition2 && condition3 ) {
  5. action3();
  6. action4();
  7. } else {
  8. defaultaction();
  9. }

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

  1. if ( condition )
  2. action1();
  3. elseif ( condition2 )
  4. action2();
  5. else
  6. action3();

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

  1. if ( condition ) {
  2. action1();
  3. } elseif ( condition2 ) {
  4. action2a();
  5. action2b();
  6. }

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

  1. foreach ( $items as $item ) {
  2. process_item( $item );
  3. }
作者 铁血 汉子 2016年6月12日
2025/05/12/03:02:59am 2016/6/12/17:44:25
0 2219