1. $num = count($arr);
  2. for($i=0;$i<$num;++$i){
  3. echo $arr[$i].'
    ';
  4. }
  5. ?>
复制代码

注释:先计算出数组$arr中元素的个数,然后才使用在for语句,这样做很高效的。如果是for($i=0;$i< count($arr);++$i)的话,每次循环都会计算数组$arr中元素的个数,而使用上面的方式可以减去这种开销。使用++$i也是为了提高效率。输出结果:http://bbs.it-home.org程序员之家PHP教程

二、foreach语句遍历数组使用foreach语句循环遍历数组有二种方式,我们使用的最多的还是第一种方式。介绍如下:第一种方式:foreach(array_expression as $value){//循环体}例子:

  1. foreach($arr as $value){
  2. echo $value.'
    ';
  3. }
  4. ?>
复制代码

每次循环中,当前元素的值被赋给变量$value,并且把数组内部的指针向后移动一步。所以下一次循环中会得到数组的下一个元素,直到数组的结尾才停止循环,结束数组的遍历。

第二种方式:foreach(array_expression as $key=>$value){//循环体}

例子:

  1. $arr = array('http://bbs.it-home.org','程序员之家','PHP教程');
  2. foreach($arr as $k=>$v){
  3. echo $k."=>".$v."
    ";
  4. }
  5. ?>
复制代码

三、联合使用list()、each()和while循环遍历数组each()函数需要传递一个数组作为一个参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置。list()函数,这不是一个真正的函数,是PHP的一个语言结构。list()用一步操作给一组变量进行赋值。

例子:

  1. $arr = array('website'=>'http://bbs.it-home.org','webname'=>'程序员之家')
  2. while(list($k,$v) = each($arr)){
  3. echo $k.'=>'.$v.'
    ';
  4. }
  5. ?> jbxue.com
复制代码

输出结果:

website=>http://bbs.it-home.orgwebname=>php程序员

总结:三种方法中,foreach语句循环遍历数组,效率更高。推荐使用。



09-11 08:16