首页 > 开发 > 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. //or 
  7. FOREACH ($array_variable as $key => $value)  
  8. {  
  9.   [code to execute]  

在这两种情况下,多次[代码执行]将被处死是等于在$ 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. //new value is 10  
  7. //new value is 20  
  8. //new value is 30  
  9. //new value is 40  
  10. //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. /* example 2 */ 
  8.  
  9. for ($i = 1; ; $i++) { 
  10.     if ($i > 10) { 
  11.         break
  12.     } 
  13.     echo $i
  14.  
  15. /* example 3 */ 
  16.  
  17. $i = 1; 
  18. for (; ; ) { 
  19.     if ($i > 10) { 
  20.         break
  21.     } 
  22.     echo $i
  23.     $i++; 
  24.  
  25. /* example 4 */ 
  26.  
  27. for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i$i++); 
  28. ?> 

遍历数组,代码如下:

  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.     $people[$i]['salt'] = rand(000000, 999999); 
  13. ?> 

下面再看while 与do while

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

  1. While (expression){ 
  2. statement; 

当表达式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. /* example 2 */ 
  11.  
  12. $i = 1; 
  13. while ($i <= 10): 
  14.     echo $i
  15.     $i++; 
  16. endwhile
  17. ?> 

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. ?> 

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