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"
   );
#方式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>';
   }
?>

发表评论

电子邮件地址不会被公开。 必填项已用*标注