首页 / 知识
PHP foreach()跳出本次或当前循环与终止循环方法
2023-04-11 15:23:00

PHPforeach()跳出本次或当前循环与终止循环方法
PHP中用foreach()循环中,想要在循环的时候,当满足某个条件时,想
复制代码
$arr=array('a','b','c','d','e');
$html='';
foreach($arras$key=>$value){
if($value=='b'){
$html.=$value;
continue;//当$value为b时,跳出本次循环
}
if($value=='c'){
$html.=$value;
break;//当$value为c时,终止循环
}
$html.=$value;
}
echo$html;//输出:ab
复制代码
下面是自己的实际例子
//父级栏目
publicfunctionparentList($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($praProductDataas$k=>$v){
//如果有子类目
if(!empty($v['zilei'])&&$v['id']==$id){
$praductData=Db::table("ven_article")
->alias('a')
->join('ven_categoryw','a.cid=w.id')
->where("a.status=1andw.pid='".$id."'")
->field("a.id,a.title,a.faceimg,a.time_report,a.resume,a.cid,w.name")
->order('a.idDESC')
->paginate(6);
//dump($praductData);
break;
}else{
//没有子类
if($v['id']==$id){
$praductData=Db::table("ven_article")
->alias('a')
->join('ven_categoryw','a.cid=w.id')
->where("a.status=1anda.cid=".$id)
->field("a.id,a.title,a.faceimg,a.time_report,a.resume,a.cid,w.name")
->order('a.idDESC')
->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);
}
returnview("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。
|
最新内容
相关内容
python中获取路径的三种方法
python中获取路径的三种方法,工作,代码,情况,培训,下来,路径,文件,也就是,桌面,目录,python中获取路径总结下来分为三种情况:1、获取工作目录python列表有哪些常用方法?
python列表有哪些常用方法?,位置,方法,培训,列表,语法,元素,示例,对象,以上,参数,列表是最常用的Python数据类型,它可以作为一个方括号内的逗python和php学哪个做web开发好
python和php学哪个做web开发好,数据,较大,技术,培训,代码,市场,人工智能,行业,份额,网站,不少打算学编程的学生,想从事web开发行业,但是对于webpython怎样终止线程
python怎样终止线程,培训,线程,方法,定义,以上,更多,内容,在python中启动和关闭线程:一、启动线程首先导入threadingimportthreading然后定Python中区分字符与字符串吗?
Python中区分字符与字符串吗?,数据,培训,数字,字符串,数据类型,字符,类型,语言,有所不同,布尔,python中不区分字符与字符串,与C语言相比,PythonPython库与模块的区别是什么?
Python库与模块的区别是什么?,名称,概念,标准,机构,培训,名字,代码,模块,区别,函数,python库与模块的区别是:模块、库主要区别在于他们的定义Python如何创建对象,有哪些方法
Python如何创建对象,有哪些方法,培训,对象,方法,内容,函数,属性,所在,以上,以下,功能,以下介绍Python创建对象的9种方法。classPoint:def__iniPython静态函数和普通方法的区别
Python静态函数和普通方法的区别,培训,方法,静态,区别,实例,函数,属性,结果,例子,下面,下面通过一个例子,讲解Python静态函数、普通方法、类方python中什么是类方法
python中什么是类方法,培训,方法,实例,静态,定义,参数,函数,内部,变量,属性,python中的类方法,指的是在类中定义的函数,函数在类的内部称为方法python如何显示当前路径
python如何显示当前路径,项目,名字,设计,培训,平台,路径,脚本,语言,绝对路径,新功能,python是一种跨平台的计算机程序设计语言。是一种面向对python看类里有哪些方法
python看类里有哪些方法,信息,员工,培训,名称,方法,函数,冒号,字符串,语句,结尾,python使用class语句来创建一个新类,class之后为类的名称并以python怎么调用方法
python怎么调用方法,系统,培训,方法,参数,法名,定义,列表,实例,以上,函数,python调用的方法类的方法的定义1、定义一个类deffun_name(self,..