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对的值分别赋给两个变量。
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇: MFC获取整个文件夹的大小 (VS05, ascii字符集)