PHP foreach()跳出本次或当前循环与终止循环方法
程序员文章站
2022-06-03 18:09:32
PHPforeach()跳出本次或当前循环与终止循环方法 PHP中用foreach()循环中,想要在循环的时候,当满足某个条件时,想 下面是自己的实际例子 打印$praProductData结果如下: 要跳出本次循环继续执行下次循环,或者满足某个条件的时候,终止foreach()循环,分别会用到:c ......
phpforeach()跳出本次或当前循环与终止循环方法
php中用foreach()循环中,想要在循环的时候,当满足某个条件时,想
$arr = array('a','b','c','d','e'); $html = ''; foreach($arr as $key => $value){ if($value=='b'){ $html .= $value; continue; // 当 $value为b时,跳出本次循环 } if($value=='c'){ $html .= $value; break; // 当 $value为c时,终止循环 } $html .= $value; } echo $html; // 输出: ab
下面是自己的实际例子
//父级栏目
public function parentlist($id)
{
//查询该栏目下所有子类数据
$categorydata = db("category")->where("id=".$id)->find();
//dump($categorydata);
if(!$categorydata){
$this->error("参数错误");
}else{
$this->assign('categorydata',$categorydata);
//查询该栏目下所有子类数据即 pid=$id
$category = db("category")->select();
$praproductdata = $this->tolayer($category);
//dump($praproductdata);
foreach($praproductdata as $k=>$v) {
//如果有子类目
if (!empty($v['zilei']) && $v['id']==$id) {
$praductdata = db::table("ven_article")
->alias('a')
->join('ven_category w','a.cid=w.id')
->where("a.status=1 and w.pid='".$id."'")
->field("a.id,a.title,a.faceimg,a.time_report,a.resume,a.cid,w.name")
->order('a.id desc')
->paginate(6);
//dump($praductdata);
break;
}else{
//没有子类
if ($v['id'] == $id) {
$praductdata = db::table("ven_article")
->alias('a')
->join('ven_category w','a.cid=w.id')
->where("a.status=1 and a.cid=".$id)
->field("a.id,a.title,a.faceimg,a.time_report,a.resume,a.cid,w.name")
->order('a.id desc')
->paginate(6);
//dump($praductdata);
break;
}
}
}
$data = $praductdata->toarray()['data'];//或者$data = $praductdatas->all();
if($data){
$this->assign('a',1);
}
$page = $praductdata->render();
$this->assign('page',$page);
$this->assign("newpraproduct",$praductdata);
}
return view("parentlist");
}
打印$praproductdata结果如下:
array(5) {
[0] => array(9) {
["id"] => int(1)
["pid"] => int(0)
["path"] => string(3) "0-1"
["name"] => string(9) "风幕柜"
["status"] => int(1)
["seo_title"] => string(0) ""
["seo_keys"] => string(0) ""
["seo_desc"] => string(0) ""
["zilei"] => array(2) {
[0] => array(9) {
["id"] => int(2)
["pid"] => int(1)
["path"] => string(5) "0-1-2"
["name"] => string(21) "饮料超市风幕柜"
["status"] => int(1)
["seo_title"] => string(0) ""
["seo_keys"] => string(21) "饮料超市风幕柜"
["seo_desc"] => string(21) "饮料超市风幕柜"
["zilei"] => array(0) {
}
}
[1] => array(9) {
["id"] => int(37)
["pid"] => int(1)
["path"] => string(6) "0-1-37"
["name"] => string(15) "超市风幕柜"
["status"] => int(1)
["seo_title"] => string(0) ""
["seo_keys"] => string(15) "超市风幕柜"
["seo_desc"] => string(15) "超市风幕柜"
["zilei"] => array(0) {
}
}
}
}
[1] => array(9) {
["id"] => int(33)
["pid"] => int(0)
["path"] => string(4) "0-33"
["name"] => string(15) "环岛风幕柜"
["status"] => int(1)
["seo_title"] => string(15) "环岛风幕柜"
["seo_keys"] => string(15) "环岛风幕柜"
["seo_desc"] => string(15) "环岛风幕柜"
["zilei"] => array(0) {
}
}
[2] => array(9) {
["id"] => int(46)
["pid"] => int(0)
["path"] => string(4) "0-46"
["name"] => string(9) "点菜柜"
["status"] => int(1)
["seo_title"] => string(9) "点菜柜"
["seo_keys"] => string(9) "点菜柜"
["seo_desc"] => string(9) "点菜柜"
["zilei"] => array(0) {
}
}
[3] => array(9) {
["id"] => int(48)
["pid"] => int(0)
["path"] => string(4) "0-48"
["name"] => string(9) "鲜花柜"
["status"] => int(1)
["seo_title"] => string(9) "鲜花柜"
["seo_keys"] => string(9) "鲜花柜"
["seo_desc"] => string(9) "鲜花柜"
["zilei"] => array(0) {
}
}
[4] => array(9) {
["id"] => int(53)
["pid"] => int(0)
["path"] => string(4) "0-53"
["name"] => string(9) "药品柜"
["status"] => int(1)
["seo_title"] => string(0) ""
["seo_keys"] => string(0) ""
["seo_desc"] => string(0) ""
["zilei"] => array(2) {
[0] => array(9) {
["id"] => int(54)
["pid"] => int(53)
["path"] => string(7) "0-53-54"
["name"] => string(15) "药品阴凉柜"
["status"] => int(1)
["seo_title"] => string(0) ""
["seo_keys"] => string(0) ""
["seo_desc"] => string(0) ""
["zilei"] => array(0) {
}
}
[1] => array(9) {
["id"] => int(55)
["pid"] => int(53)
["path"] => string(7) "0-53-55"
["name"] => string(15) "药品冷藏柜"
["status"] => int(1)
["seo_title"] => string(0) ""
["seo_keys"] => string(0) ""
["seo_desc"] => string(0) ""
["zilei"] => array(0) {
}
}
}
}
}
要跳出本次循环继续执行下次循环,或者满足某个条件的时候,终止foreach()循环,分别会用到:continue 与 break。
上一篇: get安装用法和常用命令