首先要讲一点的是: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" ); #方式1 可以用于 索引数组和关联数组 foreach ($data as $k=>$v){ echo $v; echo '<br>'; } echo '<hr>'; #方式2 可用于 索引数组和关联数组 foreach ($data as $r){ echo $r; echo '<br>'; } echo '<hr>'; #方式3 可用于 索引数组 for($i=0;$i<count($indexData);$i++){ echo $indexData[$i]; echo '<br>'; } echo '<hr>'; #方式4 可用于 索引数组和关联数组 #each()函数需要传递一个数组作为一个参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置。 #list()函数,这不是一个真正的函数,是PHP的一个语言结构。list()用一步操作给一组变量进行赋值。 while (list($key,$val) = each($indexData)){ echo $val; echo '<br>'; } ?>