知识大全 php中遍历数组方法

Posted 索引

篇首语:读书贵神解,无事守章句。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 php中遍历数组方法相关的知识,希望对你有一定的参考价值。

  遍历数组有多种实现方法

   连续索引的数组

  实现连续数组的遍历很简单 因为数组的索引是连续的( ……) 所以我们可以首先用count()函数计算出数组中元素的个数 然后建立一个for循环 如下

  $subject=array("maths" "english" "physics");

  $num_elements=count($subject); //这时$num_elements的值为

  for ($i= ;$i<$num_elements; ++$i)

  echo ("$subject[$i]

  n");

  

  结果为

  maths

  english

  physics

  这里我们给$i赋了初值为 是因为数组元素的索引默认为 如果第一个元素的索引不为 我们只需

  $subject=array( =>"maths" "english" "physics");

  $num_elements=count($subject)+ ; //注意这里

  for ($i= ;$i<$num_elements; ++$i)

  echo ("$subject[$i]

  n");

  

  这里将$i赋了值 同时$num_elements=count($subject)+ 这里很容易被忽视

   非连续索引的数组

  $subject=array("m"=>"maths" "e"=>"english" "p"=>"physics");

  这里建立了一个了数组 索引值分别为"m" "e " "p" 这样的数组怎么遍历?

  方法一 使用list()和each()函数组合

  $subject=array("m"=>"maths" "e"=>"english" "p"=>"physics");

  reset($subject); //把指针复位到第一个元素上

  while (list($key $value)=each($subject))

  echo "$key is $value

  n";

  方法二 使用foreach语句

  $subject=array("m"=>"maths" "e"=>"english" "p"=>"physics");

  foreach($subject as $key => $value)

  echo "$key is $value

  n";

  

  ?>

  是不是比list()和each()简单

  foreach 与 list() each()组合的不同之处

  foreach 是在原来数组的拷贝上执行操作的 他的优点是不会影响当前数组指针的位置 缺点是对于一个很大的数组 复制所花的时间很长

  list() each()组合 很明显用他遍历 之后 指针的位置改变了

  方法三 使用array_walk()函数遍历数组

  array_walk()是让使用者自定义函数 处理阵列中的每一个元素

  $subject=array("maths" "english" "physics");

  function printElement($element)

  print ("$element

  n");

  

  array_walk($subject "printElement");

cha138/Article/program/PHP/201311/20989

相关参考