php中foreach循环遍历二维数组

最近在用tp3.2框架,在查询的时候用到了select(),这条语句返回的是二维数组,所以在对返回的数据做处理时,遇到了些麻烦,百度了下foreach,终于用foreach解决了数据的筛选问题

(因为不知道该怎么设置where条件,设置只显示Jdate字段中今天以后的数据,所以只能在select查询后的数据中进行筛选..基础没大佬,真的挺麻烦)

进入正题

官方文档中给了foreach的两种用法


foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法:

foreach (array_expression as $value)statement
foreach (array_expression as $key => $value)statement

第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。

第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key


来看第二种,代码如下

 1 $a = array(
 2     "one" => array(1,2,3,4),
 3     "two" => array(5,6,7,8),
 4     "three" => array('a','b','c','d')
 5 );
 6 foreach ($a as $k => $v) {
 7     echo $k . '<br>';
 8     print_r($v);
 9     echo '<br>';
10     foreach ($a[$k] as $index => $value) {
11         echo $k . '<br>';
12         echo $index . '<br>';
13         echo $value . '<br>';
14     }
15 }

可以看到,我们设置了一个二维数组$a,并且设置了索引,部分输出如下

第一行:可以看到$k对应的就是第二维数组的索引,比如第一条数组的“one”

第二行:$v对应的是第二维的数组(因为不能直接用echo输出,在这里使用了print_r),比如第一条数据的array(1,2,3,4),

foreach中嵌套的那一层循环中,$a[$k]表示的就是$v,这里写$a[$k]和写$v输出结果都是一样的,因为表示的也是同样的意思

第三行:$k仍旧是第二维数组的索引

第四行:$index是第二维数组数据的索引,隐式定义的,从0开始

第五行:$value是第二维数组的数据

接下来就是重复的输出了

  

可以看到foerach的确是个很强大的函数,上面是没有定义第二位数组的数据索引的情况,那如果第二位数组的数据也定义了索引呢,其实都一样,foreach语句也相同

$b=array ('0' => Array ( 'jid' => 10,'j名' => 10,'jabstract' => 10,'jprovider' => 10,'jintroduction' => '厉害人物'),'1' => Array ( 'jid' => 8 ,'j名' => 8, 'jabstract' => 8, 'jprovider' => 8, 'jintroduction' => '厉害人物')
);
1 foreach ($b as $k => $v) {
2     echo $k.'<br>';
3     print_r($v);
4     echo '<br>';
5     foreach ($b[$k] as $index => $value){
6         echo $index.'<br>';
7         echo $value.'<br>';
8     }
9 }

 输出跟上面的也是一样的原理

 

注意使用utf-8格式,要不然输出的时候会乱码


 

都是些很简单的东西啦,不过我还是花了好久才弄明白,可能脑回路跟大家不太一样,搜索到的文章都没能和我的节拍

十二月了,18年最后一个月,今年过的好快

2018-12-02

转载于:https://www.cnblogs.com/imper/p/10055368.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412698.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PMP读书笔记(第6章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第六章 项目进度管理项目进度管理项目进度管理的核心概念项目进度管理的发展趋势和新兴实践裁剪考虑因素关于敏捷/适应型环境的考虑因素6.1 规划进度管理6.1.1 规划进度管理&#xff1a;输入6.1.1.1…

[css] display有哪些值?分别说明他们的作用是什么?

[css] display有哪些值&#xff1f;分别说明他们的作用是什么&#xff1f; display:block/inline-block 给元素转块/转行内块 display:inline 把元素转成内联元素&#xff08;我很少用到&#xff09; display:none让元素消失&#xff0c;不显示 display:flex弹性布局 我常用的…

connect ECONNREFUSED 151.101.0.133:443 | spawn xxx ENOENT

大家好&#xff1a; 我是烤鸭&#xff0c;今天分享一个node项目打包失败的问题。 1. 问题复现 之前一直出现node项目打包失败的情况&#xff0c;使用测试环境的jenkins没问题&#xff0c;生产的有问题。基本可以排除代码层面的问题。 报错信息如图。另外说一下出现了 con…

Python(八) 函数、模块

函数 定义函数 1、意义&#xff1a;函数是实现某个功能的一些代码&#xff0c;提高代码的复用性。 2、定义:用def关键字定义函数&#xff0c; 3、函数组成&#xff1a;函数由函数名、形参、函数体、调用函数&#xff08;里面会有函数体&#xff09;组成 4、要使用函数&#xff…

[css] 怎么让body高度自适应屏幕?为什么?

[css] 怎么让body高度自适应屏幕&#xff1f;为什么&#xff1f; 为何只设置body{height&#xff1a;100%}不行&#xff1f; height&#xff1a;100%是相对于父元素来说的&#xff0c;如果只设置body的高度属性&#xff0c;由于其父元素是html高度未设置&#xff0c;且并非浏览…

PMP读书笔记(第7章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第七章 项目成本管理项目成本管理项目成本管理的核心概念项目成本管理的趋势和新兴实践裁剪考虑因素关于敏捷/适应型环境的考虑因素7.1 规划成本管理7.1.1 规划成本管理&#xff1a;输入7.1.1.1 项目…

[css] font-style的属性有Italic和oblique,两者有什么区别呢

[css] font-style的属性有Italic和oblique&#xff0c;两者有什么区别呢 italic和oblique都是向右倾斜的文字, 但区别在于Italic是指斜体字&#xff0c;而Oblique是倾斜的文字&#xff0c;对于没有斜体的字体应该使用Oblique属性值来实现倾斜的文字效果.个人简介 我是歌谣&am…

PMP读书笔记(第8章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第八章 项目质量管理项目质量管理项目质量管理的核心概念项目质量管理的发展趋势和新兴实践裁剪时需要考虑的因素在敏捷或适应型环境中需要考虑的因素8.1 规划质量管理8.1.1 输入8.1.1.1 项目章程8.…

[css] IE(6/7/8/9/10/11/Edge)下的hack写法分别有哪些?

[css] IE(6/7/8/9/10/11/Edge)下的hack写法分别有哪些&#xff1f; IE9以及<IE9: \9;IE8以及>IE8: \0;3.IE7以及<IE7: *;4.IE6:*或_;5.edge不清楚;个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起…

SQL Server Query界面不能录入中文

ctrl空格转载于:https://www.cnblogs.com/chengxiaofei2018/p/10065328.html

PMP读书笔记(第9章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第九章 项目资源管理项目资源管理项目资源管理的核心概念项目资源管理的趋势和新兴实践裁剪考虑因素在敏捷或适应型环境中需要考虑的因素9.1 规划资源管理9.1.1 规划资源管理&#xff1a;输入9.1.1.…

[css] 写出你遇到过IE6/7/8/9的BUG及解决方法

[css] 写出你遇到过IE6/7/8/9的BUG及解决方法 把以前兼容IE6.7学习的东西搬出来了&#xff0c;还以为不见了。兼容性问题 1.IE6margin双边距问题 2.IE67 li间隙问题 3.图片间隙问题——vertical-align&#xff1a;top 4.ie6下高度小于19px处理成19px&#xff1b;font-size:0;或…

读书印记 - 《混乱:如何成为失控时代的掌控者》

虽然已经听过一遍语音讲解&#xff0c;但读一遍书仍有很大的收获&#xff0c;从某种意义上说这本书真的纠正了我一些重大的错误观念。 创造力、办公环境&#xff1a;在我的认知中&#xff0c;一直盲信整洁规律是个好习惯&#xff0c;从这本书中才一声冷汗的认识到这是多么错误的…

PMP 第六版 p25 矩阵图 方便记忆 口诀

大家好&#xff0c;我是烤鸭&#xff1a;     这是我第六版PMP矩阵图和自己总结的方便记忆的方法。 记忆方法&#xff1a; 首先是6大管理过程&#xff0c;10大知识领域。这个需要背下来。 过程&#xff1a;启动-规划-执行-监控-收尾 知识领域&#xff1a;整合-范围-进度-…

[css] 举例说明css的基本语句构成是什么呢?

[css] 举例说明css的基本语句构成是什么呢&#xff1f; 一个选择器&#xff08;例如&#xff1a;BODY&#xff0c;P等&#xff09;和写在花括号里的声明&#xff0c;这些声明通常是由几组用分号分隔的属性和值组成。 body{ color:red; }个人简介 我是歌谣&#xff0c;欢迎和大…

使用Tomcat部署应用

概述 一个简单的web项目下载地址&#xff1a;https://files.cnblogs.com/files/Mike_Chang/hello.rar Tomcat部署应用三种方法。 方法一 将一个WAR文件或者整个应用程序复制到Tomcat的webapps目录下。 如果把web应用文件夹改名为ROOT&#xff0c;那么应用上下文就是“/”&#…

PMP读书笔记(第10章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第十章 项目沟通管理项目沟通管理项目沟通管理的核心概念项目沟通管理的趋势和新兴实践裁剪考虑因素在敏捷或适应型环境中需要考虑的因素10.1 规划沟通管理10.1.1规划沟通管理&#xff1a;输入10.1.…

IntelliJ Idea注释模板--类注释、方法注释

刚从Eclipse切换到IntelliJ Idea&#xff0c;之前使用eclipse时用到了注释模板&#xff0c;包括类注释和方法注释&#xff0c;现在分别讲一下在Intellij Idea中如何进行配置&#xff0c;作为备忘 一. 类注释模板配置 1. 配置效果 2. 配置方法 【File】-->【settings】-->…

[css] 写例子说明如何强制(自动)中、英文换行与不换行

[css] 写例子说明如何强制&#xff08;自动&#xff09;中、英文换行与不换行 word-break:break-all;只对英文起作用&#xff0c;以字母作为换行依据word-wrap:break-word; 只对英文起作用&#xff0c;以单词作为换行依据white-space:pre-wrap; 只对中文起作用&#xff0c;强制…

maven 关于使用 snapshot 的坑

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享一下maven项目引入"快照"版依赖的问题。 1. snapshot 和 realease 顾名思义 就是 快照和稳定版。快照是不稳定的开发版本&#xff0c;不定时更新。稳定版不会有这个问题。 不定时更新有什么危害。 maven install…