PHP中有很多数组遍历方法,例如:for、while()、list()、each()。这些函数和方法都是我们在数组遍历时用到的。让我们向您介绍一下他们。
1.使用for语句循环数组
一个。其他语言(仅此方式)
b. php中的这个方法不是我们首选的方法
c.数组必须是索引数组,下标必须是连续的索引数组下标(下标也可以不连续,数组也有关联数组)
代码如下 复制代码
/*
* 我们想要在遍历过程中改变后面数组中某些元素的值
*/
$ = 数组(
数组('名称'=>'卡勒','盐'=>),
数组('名称'=>'','盐'=>)
);
为($i = 0; $i {
$[$i]['盐'] = rand(, );
上面代码的问题在于for的第二个表达式会导致代码执行速度非常慢——因为每次循环都要计算数组的长度。由于数组的长度始终保持不变,因此我们可以使用一个中间变量来存储数组的长度,然后将该变量用作for循环的第二个表达式。这样就可以在循环过程中直接使用变量的值,而不必每次都重新计算。如下:
代码如下 复制代码
$ = 数组(
数组('名称'=>'卡勒','盐'=>),
数组('名称'=>'','盐'=>)
);
for($i = 0, $size = ($); $i {
$[$i]['盐'] = rand(, );
2.使用语句循环数组
(数组变量作为变量值){
循环体
一个。循环次数由数组中元素的数量决定
b.每个循环都会将数组中的元素分配给后续变量。
(数组变量作为下标变量=>值变量){
例子
代码如下 复制代码
遍历3D数组
//循环遍历3D数组
/*
$=数组(
市场部=>数组(
数组(1,,,4000),
数组(2,,,4000),
数组(3,,,4000)
),
客服部=>array(
数组(1,gao1,li11,4000),
数组(2,gao2,li22,4000),
数组(3,gao3,li33,4000)
),
业务部=>数组(
数组(1,mou1,,4000),
数组(2,mou2,,4000),
数组(3,mou3,,4000)
);
($ 作为 $key=>$value){
回声'
';
echo '联系表格';
回声'';
echo '标签名称 职位 薪资
';
($值作为$行){
如果($行%2==0){
$bg=#;
}别的{
$bg=#;
回声'';
($行作为$列){
回显''.$col。' ';
回声'
';
回声'
';
回声;
($);
回声
3. while() list()each()组合循环遍历数组
每个()函数,
一个。需要一个数组作为参数
b.返回的也是一个数组
c.返回的数组有四个下标(固定):0、1、key、value。
0和key下标是当前参数数组元素?
1和数值下标是当前对数数组元素的值。
d.默认情况下,当前元素是第一个元素
e.每次执行时,当前元素都会向后移动。
f.如果到达最后一个元素后再次执行该函数,将返回 false。
使用each遍历数组的示例代码如下:
代码如下 复制代码
注意:该函数的参数和返回值(执行函数前指针不在数组末尾时)都是数组。当执行函数之前数组指针位于数组末尾时,再次执行函数时返回值为 false。
起始位置是第一个元素。每次执行该函数时(通常),指针都会向后移动到下一个地址。
列表()函数
一个。列表()=数组();您需要为该函数分配一个数组
b.数组中的元素数量必须与 list() 函数中的参数数量相同。
c.数组中的每个元素值被分配给list()函数中的每个参数,list()将每个参数转换为变量。
d. list() 只能接收索引数组
e.按索引下标的顺序
这不是一个真正的函数,而是 PHP 的语言构造。 list()一步给一组变量赋值,即将数组中的值赋给某些变量。 list() 只能与数字索引数组一起使用,并假设数字索引从 0 开始。语法格式如下:
list(mixed,mixed...)= //list()语句的语法格式
list() 语句的使用与其他函数有很大不同。它不直接接收数组作为参数。相反,数组中每个元素的值通过使用“=”删除器进行赋值而分配给 list() 函数中的每个参数。 list()函数依次将其中的每个参数转换为可以直接在脚本中使用的变量。使用方法:
代码如下 复制代码
通过上面的例子了解了list()函数的用法后,将each()函数和list()函数结合起来。代码如下:
代码如下 复制代码
1、姓名=>高,公司=>A公司,地址=>北京);
列表($键,$值)=每个($); //将each()函数和list()函数一起使用
回显 $key=>$value; //输出变量$key和$value,用=>分隔
while() 函数
while()循环的语法格式如下:
代码如下 复制代码
while( 列表($key,$value) = 每个() ){
循环体;
使用这个组合重写前面遍历过的一维数组。代码如下所示:
代码如下 复制代码
1、
姓名=>高,
公司=>一家公司,
地址=>北京,
电话 => (010),
电子邮件=>
);
//以html列表的形式输出数组中每个元素的信息
回声'
联系方式:';
while(list($key,$value) =each($)){ //将语句重写为while、list()和each()的组合
回显$键:$值; //输出每个元素的键/值
回声'';
while()遍历数据需要和list或者各个函数结合配置,否则无法单独完成数组遍历。
扫一扫在手机端查看
-
Tags : php数组的遍历_php数组的遍历函数与方法例子
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。