84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
continue和break的区别我是知道的。那continue num 和 break num的区别是什么呢?
学习是最好的投资!
break是结束整个循环体,continue是结束单次循环break num是结束外层第num层整个循环体,continue num 是结束外层第num层单次循环
<?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;
}
break是结束整个循环体,continue是结束单次循环
break num是结束外层第num层整个循环体,continue num 是结束外层第num层单次循环
break是跳出循环,而continue是开始执行下一次循环。那么对于加了数字的break和continue是用来标识层层循环嵌套。当遇上一个循环中嵌套多个循环,这时候的未加数字的break和continue,代表的都是包含break(等于break 1)和continue(等于continue 1)最里面的一层循环的循环结构要么开始最里面一层循环的下一层循环要么终止最里面的一层循环,而continue 2和 break 2则是代表包含这个continue 2和 break 2得最里面倒数第二层循环,以此类推:
<?php
$data = array(
$result = array();
foreach($data as $key => $value) {
}