php中数组遍历的四种方式

首先要讲一点的是:PHP中的数组与C/C++中的数组不同。

它是基于键值对结构的hash表来实现的(存在key/value的概念)。有点类似于python和lua中的dictionary。

在没有显示指定key的情况下,默认以索引(0,1,2,3...)的形式来填充key字段。

另外,数组的使用时有一个指针的概念,有点像C++中的迭代器。迭代器总是指向容器中当前使用的对象。

下面来看php中的数组的四种遍历方式:

<?php


$data      = array(
    'a' => "AA",
    'b' => "BB",
    'c' => "CC"
);
$indexData = array(
    '0' => "AA",
    '1' => "BB",
    '2' => "CC"
);


//第一种遍历方式,只适用于索引数组。PHP数组在没有指明key的情况下,默认是索引数组
for ($i = 0; $i < sizeof($data); $i++) {
    echo $indexData[$i] . "1" . "<br>";
}


//第二种遍历方式。可同时用于索引数组和关联数组,取出key和value
foreach ($data as $key => $value) {
    echo $value . "2" . "<br>";
}


//第三种遍历方式,可同时用于索引数组和关联数组,只取出value。(会改变数组当前指针)
foreach ($data as $value) {
    echo $value . "3" . "<br>";
}


//第四种遍历方式.可同时用于索引数组和关联数组,取出key和value(会改变数组当前指针)
//因$data数组的指针在第三种方式中已经指向了数组尾部,故换一个数组
while (list($key, $value) = each($indexData)) {
    echo $value . "4" . "<br>";
}


?>

输出结果:

AA1
BB1
CC1
AA2
BB2
CC2
AA3
BB3
CC3
AA4
BB4
CC4


前三种都很容易看懂,下面来解释下第四种用法:

each函数用来取出数组中当前指针指向的key/value对,然后将指针后移一位。

list函数用来将each函数取出的key/value对的值分别赋给两个变量。



  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值