The DoYouHaoBaby PHP Framework中文开发文档手册
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
[ PHP流程控制的替代语法 ]

PHP 流程控制替代语法在PHP 与HTML相结合的应用环境下实用价值非常高,它能使页面看起来美观,不那么蛋疼。


1:PHP中那些语法有替代语法

流程控制(包括if,while,forforeach,switch)这几个语句有替代语法。

2:替代语法的基本形式:

左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;

举个例子吧:

  1. <?php $sCompanyName ='DoYouHaoBaby!';?>   
  2. <?php if ( !emptyempty( $sCompanyName ) ): ?>    
  3.  DoYouHaoBaby 信息技术公司   
  4. <?php endif; ?>   

上面的语句等同于

  1. <?php $sCompanyName ='DoYouHaoBaby!';?>   
  2. <?php if ( !emptyempty( $sCompanyName ) ){ ?>    
  3.  DoYouHaoBaby 信息技术公司    
  4. <?php } ?>   

程序运行后的结果如下(两个的结果一样):

  1. DoYouHaoBaby 信息技术公司   

如图:

3:这种语法的优点

在PHP和HTML混合页面的代码里面。好处如下:

  1.  使HTML和PHP混合页面代码更加干净整齐。 
  2. 流程控制逻辑更清晰,代码更容易阅读
  3. 一些从ASP等其他类basic语言家族转来的朋友,会更容易使用PHP。

4:if语句的替代语法

  1. <?php $sCompanyName ='DoYouHaoBaby';?>   
  2. <?php if ( $sCompanyName == 'Micorsoft' ): ?>    
  3. <div>Micorsoft( 微软公司 )</div>    
  4. <?php elseif ( $sCompanyName =='Google'): ?>    
  5. <div>Google( 谷歌 )</div>    
  6. <?php else: ?>    
  7. <div>The DoYouHaoBaby Company( 小牛哥 )</div>    
  8. <?php endif; ?>   

运行结果如下:

  1. The DoYouHaoBaby Company( 小牛哥 )  

如图:


5:while替代语法:

  1. <?php $nI=0;?>   
  2. <?php while ( $nI<10 ): ?>    
  3. <?php $nI++;?>   
  4. <li>( <?php echo $nI;?> ): The DoYouHaoBaby !</li>    
  5. <?php endwhile; ?>   

运行结果如下:

  1. ( 1 ): The DoYouHaoBaby !   
  2. ( 2 ): The DoYouHaoBaby !   
  3. ( 3 ): The DoYouHaoBaby !   
  4. ( 4 ): The DoYouHaoBaby !   
  5. ( 5 ): The DoYouHaoBaby !   
  6. ( 6 ): The DoYouHaoBaby !   
  7. ( 7 ): The DoYouHaoBaby !   
  8. ( 8 ): The DoYouHaoBaby !   
  9. ( 9 ): The DoYouHaoBaby !   
  10. ( 10 ): The DoYouHaoBaby !  

如图:


6:for替代语法:

  1. <?php for ( $nI=0;; $nI<10; $nI++ ): ?>    
  2. <li>( <?php echo $nI;?> ):DoYouHaoBaby( 小牛哥 )</li>    
  3. <?php endfor; ?>   

运行结果如下:

  1. ( 0 ):DoYouHaoBaby( 小牛哥 )   
  2. ( 1 ):DoYouHaoBaby( 小牛哥 )   
  3. ( 2 ):DoYouHaoBaby( 小牛哥 )   
  4. ( 3 ):DoYouHaoBaby( 小牛哥 )   
  5. ( 4 ):DoYouHaoBaby( 小牛哥 )   
  6. ( 5 ):DoYouHaoBaby( 小牛哥 )   
  7. ( 6 ):DoYouHaoBaby( 小牛哥 )   
  8. ( 7 ):DoYouHaoBaby( 小牛哥 )   
  9. ( 8 ):DoYouHaoBaby( 小牛哥 )   
  10. ( 9 ):DoYouHaoBaby( 小牛哥 )  

如图:

7:foreach替代语法:

  1. <?php $arrList =array( 'english'=>'DoYouHaoBaby','chinese'=>'小牛哥' );?>   
  2. <?php foreach ( $arrList as $key => $value ): ?>    
  3. <li><?php echo $key;?>-<?php echo $value;?></li>    
  4. <?php endforeach; ?>   

运行结果如下:

  1. english-DoYouHaoBaby   
  2. chinese-小牛哥  

如图:

8:switch替代语法:

  1. <?php    
  2. $nI = 1;   
  3. switch ( $nI ):    
  4.    case 0:    
  5.        echo "DoYouHaoBaby is zero !";    
  6.    break;    
  7.    case 1:    
  8.        echo "DoYouHaoBaby is first !";    
  9.    break;    
  10.    case 2:    
  11.        echo "DoYouHaoBaby is second !";    
  12.    break;    
  13.    default:    
  14.        echo "DoYouHaoBaby is third !";    
  15.    endswitch;    
  16. ?>   

运行结果如下:

  1. DoYouHaoBaby is first !  

如图: