php数组遍历常用方法有哪些?其中一个必须要掌握!

数组的遍历

在平时操作数组时,在数组中声明大量数据通过函数调用获取,而不是自己手动解决。使用数组目的是将有关联数据形成集合,作为一个单元使用,达到批量数据处理的目的。很少是直接访问数组中的成员,大部分数组都是使用遍历的方式处理数组中每个元素。下面为大家介绍一下php中常见的数组遍历方法?

使用for循环循坏遍历数组(不常用)

for循坏遍历数组的方法不仅在php中使用也在其他编程语言中使用,在其他语言中它是通过数组的下标来访问数组中每个元素,数组的下标数字必须是连续的。但是在PHP中可以指定非连续的数字索引值,也可以存在以字符串为下标的关联数组。for循坏在php数组循坏中很少使用。

数组元素以html表格的形式输出到浏览器。使用array()语句结构创建一维数组$test,没有指定数组索引下标,默认采取数字索引方式,fo语句循环次数由数组的长度决定。如下所示:

需要注意的是使用for语句遍历多维数组时,需要使用循坏嵌套逐层进行遍历。必须在每层循坏中正确指定索引名称,每层的索引值必须是顺序的数字索引。

使用foreach语句遍历数组(常用)

for语句遍历数组时有很多的局限性。for在遍历数组很少用。php4引入了foreach结构,是针对遍历数组设计的,是一种遍历数组的简单方法。它遍历数组时跟数组下标无关,不关是连续的数字索引数组还是以字符串为下标的关联数组,都可以使用foreach语句遍历。php5开始还可以遍历对象。foreach语句语法如下:

第一种格式:foreach (array_expression as $value) {

循环体

}

代码如下

第二种格式:foreach (array_expression as $key=>$value) {

循环体

}

上面两种方式输出的结果是一样的,上面两组代码都是声明了一个一维数组$test,第二种声明方式使用了运算符“=>”,将数组$test中的元素重新指定了索引下标,然后使用foreach语句循坏遍历数组。第一次循坏将数组$test第一个元素赋给变量$value,并输出变量$value的值,并且把数组内部的指针移到第二个元素,以此类推直到结尾停止foreach语句循坏。上面例子只是一个简单的例子,实际工作可能遇到更加复杂的情况,比如说用foreach遍历三维数组以表格形式打印出来等。

使用list()、each()和while函数()遍历数组(初步了解)

each()函数需要传递一个数组作为参数。返回数组中当前元素的键/值,并向后移动数组指针向下一个元素的位置。键名分别为0、1、key和value。其中健民0和key对应的值是一样的,是数组的键名,1和value则包含有数组的值。如果内部越过了数组末端,则each()返回FALSE.

list()函数单它不是真正的函数,是php语言结构。list()用一步操作给一组变量进行赋值,则把数组中赋值给一些变量。list()仅能用于数字索引的数组并假设数字索引从0开始。

while循坏遍历数组,了解了each()和list()语句的使用,就不难理解如何使用while循坏遍历数组了。while语法如下

while(list($key,$value)=each(array_expression)){

循环体

}

while这种联合格式遍历给定的数组。while()语句每次循坏中,each()语句将当前数组元素中的键,赋给list()函数中第一个参数变量$key。并将当前数组元素中的值,赋给list()函数中第二个参数变量$value,并且each()语句执行后还会把数组内部的指针向后移动一次,以此类推直到数组的结尾each()语句返回FALSE终止循坏结束遍历。

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180712A14N2F00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券