首页 > php流程控制 > php循环控制语句

php循环控制语句

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

Foreach语句

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

foreach(array_expression as $value)

statement;

或如下:

Foreach(array_expression as $key => $value) 
statement; 
FOREACH ($array_variable as $value)  
{  
  [code to execute]  
} 
//or 
FOREACH ($array_variable as $key => $value)  
{  
  [code to execute]  
}

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

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

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

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

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

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

for语句

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

<?php
/* example 1 */
for ($i = 1; $i <= 10; $i++) {
    echo $i;
}
/* example 2 */
for ($i = 1;; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}
/* example 3 */
$i = 1;
for (;;) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}
/* example 4 */
for ($i = 1, $j = 0; $i <= 10; $j+= $i, print $i, $i++);
?>

遍历数组,代码如下:

<?php
/*
 * This is an array with some data we want to modify
 * when running through the for loop.
*/
$people = Array(
    Array(
        'name' => 'Kalle',
        'salt' => 856412
    ) ,
    Array(
        'name' => 'Pierre',
        'salt' => 215863
    )
);
for ($i = 0; $i < sizeof($people); ++$i) {
    $people[$i]['salt'] = rand(000000, 999999);
}
?>

下面再看while与dowhile While循环是php中最简单的循环语句, 他的语法格式是:

    While (expression) {

        statement;

    }

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

<?php
        /* example 1 */
        $i = 1;
        while ($i <= 10) {
            echo $i++; /* the printed value would be
            $i before the increment
            (post-increment) */
        }
        /* example 2 */
        $i = 1;
        while ($i <= 10) : echo $i;
        $i++;
    endwhile;
?>

Do…While语句

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

Do{ 
statement; 
}While(expression);

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

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

实例代码如下:

<?php
    do {
        if ($i < 5) {
            echo "i is not big enough";
            break;
        }
        $i*= $factor;
        if ($i < $minimum_limit) {
            break;
        }
        echo "i is ok";
        /* process i */
    } while (0);
?>


永久地址:http://www.phprm.com/lckz/fs2976.html

转载随意~请带上教程地址吧^^

标签:php循环 控制语句

发表留言