foreach($facility_list['data'] as $facility){
  //处理语句
}

第一种格式遍历给定的 array_expression_r_r 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。 
第二种格式做同样的事,只除了当前单元的键值也会在每次循环中被赋给变量 $key。 
注: 当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在 foreach 循环之前调用 reset()。 
注: 此外注意 foreach 所操作的是指定数组的一个拷贝,而不是该数组本身。因此即使有 each() 的构造,原数组指针也没有变,数组单元的值也不受影响。 
注: foreach 不支持用“@”来禁止错误信息的能力。

假设请求过来的数据格式:

$facility_list变量值为:

array(1) { ["data"]=> array(3) { [0]=> array(4) { ["facility_id"]=> string(1) "1" ["facility_name"]=> string(9) "嘉兴仓" ["schedule_mode"]=> string(29) "manual_schedule_auto_shipping" ["facility_type"]=> string(1) "1" } [1]=> array(4) { ["facility_id"]=> string(1) "2" ["facility_name"]=> string(9) "广州仓" ["schedule_mode"]=> string(29) "manual_schedule_auto_shipping" ["facility_type"]=> string(1) "1" } } }

这里是一个数组array(1),所以我们需要获取里面的数据,需要去这个数组中data指向的值,

$facility_list['data']变量值为:

array(3) { [0]=> array(4) { ["facility_id"]=> string(1) "1" ["facility_name"]=> string(9) "嘉兴仓" ["schedule_mode"]=> string(29) "manual_schedule_auto_shipping" ["facility_type"]=> string(1) "1" } [1]=> array(4) { ["facility_id"]=> string(1) "2" ["facility_name"]=> string(9) "广州仓" ["schedule_mode"]=> string(29) "manual_schedule_auto_shipping" ["facility_type"]=> string(1) "1" } }

通过这个语句获取到如下数组,相当于从外部数组进入了内部数组中,数组中包含数组,对内部数组在对每个值进行遍历,例如:
$facility['facility_id']变量值为:
 string(1) "1"

例子:

     $facility_list = $this->common->getFacilityList();
$facility_id = $this->getInput('facility_id');
if (isset($facility_id)) {
$cond['facility_id'] = $facility_id;
foreach($facility_list['data'] as $facility){
if($facility['facility_id']==$facility_id){
$cond['facility_type']=$facility['facility_type'];
}
}
} else {
$cond['facility_id'] = $facility_list['data'][0]['facility_id'];
$cond['facility_type'] = $facility_list['data'][0]['facility_type'];
}

php foreach遍历的更多相关文章

  1. 用<forEach>遍历list集合时,提示我找不到对象的属性

    <c:forEach items="${list}" var="item"> <tr> <td>${item.UserId} ...

  2. Foreach遍历

    前天在项目中遇到一个问题,foreach遍历过程中修改responses中的对象,其中responses的类型:IEnumerable<Order>,代码如下: foreach (Orde ...

  3. 使用yield关键字让自定义集合实现foreach遍历

    一般来说当我们创建自定义集合的时候为了让其能支持foreach遍历,就只能让其实现IEnumerable接口(可能还要实现IEnumerator接口) 但是我们也可以通过使用yield关键字构建的迭代 ...

  4. js中三个对数组操作的函数 indexOf()方法 filter筛选 forEach遍历 map遍历

     indexOf()方法  indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1. 不使用indexOf时 var arr = ['apple','orange','pea ...

  5. mybatis map foreach遍历

    mybatis map foreach遍历 转至http://www.cnblogs.com/yg_zhang/p/4314602.html mybatis 遍历map实例 map 数据如下 Map& ...

  6. foreach遍历遇到的一个细节问题

    1.Invalid argument supplied for foreach()警告错误解决办法:foreach遍历之前添加is_array()判断

  7. IEnumerable 接口 实现foreach 遍历 实例

    额 为啥写着东西? 有次面试去,因为用到的时候特别少 所以没记住, 这个单词 怎么写! 经典的面试题: 能用foreach遍历访问的对象的要求? 答:  该类实现IEnumetable 接口   声明 ...

  8. 实现Foreach遍历

    实现Foreach遍历的集合类,需要实现IEnumerable接口,泛型集合则需要实现IEnumerable<T>接口 using System; using System.Collect ...

  9. foreach遍历扩展(二)

    一.前言 假设存在一个数组,其遍历模式是根据索引进行遍历的:又假设存在一个HashTable,其遍历模式是根据键值进行遍历的:无论哪种集合,如果它们的遍历没有一个共同的接口,那么在客户端进行调用的时候 ...

  10. c#--foreach遍历的用法与split的用法

    一. foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成.in右边的项是集合名,in左边的项是变量名,用来存放该集合中的每个元素.      该循环 ...

随机推荐

  1. NOI.AC省选模拟赛第一场 T1 (树上高斯消元)

    link 很容易对于每个点列出式子 \(f_{x,y}=(f_{x,y-1}+f_{x,y}+f_{x,y+1}+f_{x+1,y})/4\)(边角转移类似,略) 这个转移是相互依赖的就gg了 不过你 ...

  2. TX2之多线程读取视频及深度学习推理

    背景 一般在TX2上部署深度学习模型时,都是读取摄像头视频或传入视频文件进行推理,从视频中抽取帧进行目标检测等任务.对于大点的模型,推理的速度是赶不上摄像头或视频的帧率的,如果我们使用单线程进行处理, ...

  3. day0203 (whil else)

    count = 0while count <= 5 : count += 1 if count == 3:break print("Loop",count) else: pr ...

  4. weex 自定义Modul

    扩展iOS的功能 一. 新建 NSOjbect 子类, 并遵循协议<WXModuleProtocol> .h 代码 #import <Foundation/Foundation.h& ...

  5. 前端统计图 echarts 实现简单柱状图

    前端统计图   echarts实现简单柱状图 1. 引入 ECharts <!DOCTYPE html> <html> <head> <meta charse ...

  6. 常见浏览器hack汇总

    1.背景渐变bug: ①.ie8 ie9:用滤镜的方式解决: -ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientT ...

  7. C#串口通讯中常用的16进制的字节转换

    1.对于通讯协议的十六进制数值进行简单转换 //二进制转十进制Console.WriteLine("二进制 111101 的十进制表示: "+Convert.ToInt32(&qu ...

  8. 用hashmap实现redis有什么问题

    1.容量问题 hashmap是有最大容量的 2.时效问题 redis可以持久化,也可以定时时间 hashmap不可以持久化 3.线程并发问题 hashmap不是线程安全的(并且:多线程同时调用hash ...

  9. SpagoBI系列----------[01]SpagoBI简介及安装步骤

    商务智能套件SpagoBI提供一个基于J2EE的框架用于管理BI对象如报表.OLAP分析.仪表盘.记分卡以及数据挖掘模型等的开源BI产品.它提供的BI管理器能 够控制.校验.验证与分发这些BI对象. ...

  10. Robot Framework(AutoItLibrary安装)

    RobotFramework下安装AutoItLibrary库 1.安装pythonwin32 在下载地址:http://sourceforge.net/projects/pywin32/files/ ...