php中break 2 和 continue 2 的区别是什么呢?
PHPz
PHPz 2017-04-11 09:54:10
0
3
684

continue和break的区别我是知道的。
那continue num 和 break num的区别是什么呢?

PHPz
PHPz

学习是最好的投资!

全部回覆(3)
刘奇

break是结束整个循环体,continue是结束单次循环
break num是结束外层第num层整个循环体,continue num 是结束外层第num层单次循环

Ty80
<?php
    
    foreach($arr1 as $value1)
    {
        foreach($value1 as $value2)
        {
            if($value2 == 0)
            {
               continue; //继续下次循环,在里层的foreach里面,默认为1
               continue 2;//继续下次循环,在外层的foreach里面 
               break; 则同理
            }
        }
    
    }

刘奇

break是跳出循环,而continue是开始执行下一次循环。那么对于加了数字的break和continue是用来标识层层循环嵌套。当遇上一个循环中嵌套多个循环,这时候的未加数字的break和continue,代表的都是包含break(等于break 1)和continue(等于continue 1)最里面的一层循环的循环结构要么开始最里面一层循环的下一层循环要么终止最里面的一层循环,而continue 2和 break 2则是代表包含这个continue 2和 break 2得最里面倒数第二层循环,以此类推:

<?php
$data = array(

        array(
            'seller_id'  => '商家1',
            'product_id' => '001'
         ),
         array(
            'seller_id'  => '商家1',
            'product_id' => '002'
         ),
         array(
            'seller_id'  => '商家1',
            'product_id' => '003'
         ),
         array(
            'seller_id'  => '商家2',
            'product_id' => '001'
         ),
         array(
            'seller_id'  => '商家3',
            'product_id' => '001'
         ),
         array(
            'seller_id'  => '商家3',
            'product_id' => '002'
         ),
         array(
            'seller_id'  => '商家3',
            'product_id' => '003'
         ),
);

$result = array();
foreach($data as $key => $value) {

foreach($value as $k => $val) {
    if($val == '商家1') {
        continue 2;
    }
    
    var_dump($val);die;// continue 2 执行最外层的下一层循环,所以下面不会有输出,此处输出“商家2”
}
 var_dump($value);die;

}

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!