首页 > 开发 > PHP > 正文

php循环控制语句

2024-05-04 23:07:16
字体:大 中 小
来源:转载
供稿:网友

在php中循环语句我们常用的就几种,while,do while ,for(),foreach这四种,也是大家开发中常用到的循环语句了,有需要的朋友可以参考一下,本教程一一来讲一下这种语句的用法.

Foreach语句

Foreach循环是php4.0引进来的,只能用于数组,在php5中,又增加了对对象的支持,该语句的语法格式为:

foreach(array_expression as $value)

statement;

或如下:

  1. Foreach(array_expression as $key => $value) 
  2. statement; 
  3. FOREACH ($array_variable as $value)  
  4. {  
  5.   [code to execute]  
  6. } 
  7. //or 
  8. FOREACH ($array_variable as $key => $value)  
  9. {  
  10.   [code to execute]  
  11. } 

在这两种情况下,多次[代码执行]将被处死是等于在$ array_variable数组元素的个数,让我们来看一个例子,假设我们有下面的代码段:

  1. $array1 = array(1,2,3,4,5);  
  2. FOREACH ($array1 as $abc)  
  3. {  
  4.   print "new value is " . $abc*10 . "<br>";  
  5. } 
  6. //输出结果 
  7. //new value is 10  
  8. //new value is 20  
  9. //new value is 30  
  10. //new value is 40  
  11. //new value is 50 

foreach循环以上经历了所有5个元素的数组$ array1,每次打印出一份声明中含有10倍的数组元素的值.

foreach作用是遍历当前数组的所有值出来并且赋给$var

再来看一个foreach 对多维数据操作实例:

  1. $s = array(array(1,2),array(3,4),array(5,6)); 
  2. foreach( $s as $v => $_v ) 
  3.  { 
  4.   foreach( $_v as $vc => $_vc ) 
  5.   { 
  6.    echo $_vc[0],'|'.$_vc[1],'<br />'; 
  7.   //print_r($_vc); 
  8.   } 
  9.  } 

for语句

最基于的遍历,代码如下:

  1. <?php 
  2. /* example 1 */ 
  3.  
  4. for ($i = 1; $i <= 10; $i++) { 
  5.     echo $i; 
  6. } 
  7.  
  8. /* example 2 */ 
  9.  
  10. for ($i = 1; ; $i++) { 
  11.     if ($i > 10) { 
  12.         break; 
  13.     } 
  14.     echo $i; 
  15. } 
  16.  
  17. /* example 3 */ 
  18.  
  19. $i = 1; 
  20. for (; ; ) { 
  21.     if ($i > 10) { 
  22.         break; 
  23.     } 
  24.     echo $i; 
  25.     $i++; 
  26. } 
  27.  
  28. /* example 4 */ 
  29.  
  30. for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++); 
  31. ?> 

遍历数组,代码如下:

  1. <?php 
  2. /* 
  3. * This is an array with some data we want to modify 
  4. * when running through the for loop. 
  5. */ 
  6. $people = Array( 
  7.         Array('name' => 'Kalle', 'salt' => 856412), 
  8.         Array('name' => 'Pierre', 'salt' => 215863) 
  9.         ); 
  10.  
  11. for($i = 0; $i < sizeof($people); ++$i) 
  12. { 
  13.     $people[$i]['salt'] = rand(000000, 999999); 
  14. } 
  15. ?> 

下面再看while 与do while

While循环是php中最简单的循环语句,他的语法格式是:

  1. While (expression){ 
  2. statement; 
  3. } 

当表达式expression的值为真时,将执行statement语句,执行结束后,再返回到expression表达式继续进行判断,直到表达式的值为假时,才跳出循环.代码如下:

  1. <?php 
  2. /* example 1 */ 
  3.  
  4. $i = 1; 
  5. while ($i <= 10) { 
  6.     echo $i++;  /* the printed value would be 
  7.                    $i before the increment 
  8.                    (post-increment) */ 
  9. } 
  10.  
  11. /* example 2 */ 
  12.  
  13. $i = 1; 
  14. while ($i <= 10): 
  15.     echo $i; 
  16.     $i++; 
  17. endwhile; 
  18. ?> 

Do…While语句

While语句还有一种形式的表示,Do…While.语法为:

  1. Do{ 
  2. statement; 
  3. }While(expression); 

两者的区别在于:Do…While语句要比While语句多循环一次。

当While表达式的值为假时,While循环直接跳出当前循环,而Do…While语句则是先执行一遍程序块,然后再对表达式进行判断.

实例代码如下:

  1. <?php 
  2. do { 
  3.     if ($i < 5) { 
  4.         echo "i is not big enough"; 
  5.         break; 
  6.     } 
  7.     $i *= $factor; 
  8.     if ($i < $minimum_limit) { 
  9.         break; 
  10.     } 
  11.    echo "i is ok"; 
  12.  
  13.     /* process i */ 
  14.  
  15. } while (0); 
  16. ?> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表