do-while循环

PHP的do-while循环里面的条件语句不仅含有判断功能还有执行的功能。

普通的do-while循环代码如下:

$a=0;
do{
    echo "today is saturday!<br/>";
    $a++;
} while ($a<5);
上面的代码会输出5行‘today is saturday!’,这里的条件判断语句‘$a<5’仅仅是判断的作用。
再看下面的代码:
$shuzu = array(
    0 => 'gou',
    1 => 'mao',
    2 => 'zhu',
    3 => 'yu'
);
do{
    echo current($shuzu);
    echo "<br/>";
} while ( next($shuzu) );
上面代码中do-while循环中的条件判断语句‘next($shuzu)’,不仅会布尔判断,而且会执行next()这个函数,也就是把数组的指针移动一位。
这样输出内容为全部数组内容:
如果do{}内容区仍然使用current($zhuzu),但是条件判断语句不使用next()函数,而只是使用$b<5之类,则不会打印出完整数组,只是打印出数组的第一个指针对应的值,代码如下:
$shuzu = array(
    0 => 'gou',
    1 => 'mao',
    2 => 'zhu',
    3 => 'yu'
);
$b = 0;
do{
    echo current($shuzu);
    echo "<br/>";
    $b++;
} while ( $b<5 );
上述代码打印的效果依然是5行‘gou’。
事实证明,如果do-while()的条件语句使用next()函数,则此next()函数不仅仅会判断,还会执行,会把数组指针移动一位。
测试代码截图如下:

给TA打赏
共{{data.count}}人
人已打赏
php

php使用foreach循环只获取数组的前2个元素

2021-12-15 11:07:18

php

使用foreach()报错Invalid argument supplied for foreach() in

2022-3-30 9:51:37

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索