PHP遍历数组的几种方法
发布时间:2020-12-13 06:05:32 所属栏目:PHP教程 来源:网络整理
导读:PHP中遍历数组有三种常用的方法: 一、使用for语句循环遍历数组; 二、使用foreach语句遍历数组; 三、联合使用list()、each()和while循环遍历数组。 这三种方法中效率最高的是使用foreach语句遍历数组。从PHP4开始就引入了foreach结构,是PHP中专门为遍历数
PHP中遍历数组有三种常用的方法: 一、使用for语句循环遍历数组 值得大家注意的是使用for语句循环遍历数组要求遍历的数组必须是索引数组。PHP中不仅有关联数组而且还有索引数组,所以PHP中很少用for语句循环遍历数组。 实例代码如下: <div class="codetitle"><a style="CURSOR: pointer" data="9107" class="copybut" id="copybut9107" onclick="doCopy('code9107')"> 代码如下:<div class="codebody" id="code9107"> <?php $arr = array('//www.52php.cn','编程之家','PHP教程'); $num = count($arr); for($i=0;$i<$num;++$i){ echo $arr[$i].' '; } ?> 注释:上例代码中我们先计算出数组$arr中元素的个数,然后才使用在for语句,这样做很高效的。因为如果是for($i=0;$i< count($arr);++$i)的话,每次循环都会计算数组$arr中元素的个数,而使用上面的方式可以减去这种开销。使用++$i也是为了提高效率,前面有文章我们提到过,建议大家再看看。 上面代码的输出结果为: //www.52php.cn 编程之家 PHP教程 二、使用foreach语句遍历数组 使用foreach语句循环遍历数组有二种方式,我们使用的最多的还是第一种方式。介绍如下: 第一种方式: foreach(array_expression as $value){ //循环体 } 实例代码: <div class="codetitle"><a style="CURSOR: pointer" data="821" class="copybut" id="copybut821" onclick="doCopy('code821')"> 代码如下:<div class="codebody" id="code821"> <?php $arr = array('//www.52php.cn','PHP教程'); foreach($arr as $value){ echo $value.' '; } ?> 每次循环中,当前元素的值被赋给变量$value,并且把数组内部的指针向后移动一步。所以下一次循环中会得到数组的下一个元素,直到数组的结尾才停止循环,结束数组的遍历。 第二种方式: foreach(array_expression as $key=>$value){ //循环体 } 实例代码: <div class="codetitle"><a style="CURSOR: pointer" data="78795" class="copybut" id="copybut78795" onclick="doCopy('code78795')"> 代码如下:<div class="codebody" id="code78795"> <?php //定义数组 $arr = array('//www.52php.cn','PHP教程'); foreach($arr as $k=>$v){ echo $k."=>".$v." "; } ?> 三、联合使用list()、each()和while循环遍历数组each()函数需要传递一个数组作为一个参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置。 list()函数,这不是一个真正的函数,是PHP的一个语言结构。list()用一步操作给一组变量进行赋值。 实例代码: <div class="codetitle"><a style="CURSOR: pointer" data="18316" class="copybut" id="copybut18316" onclick="doCopy('code18316')"> 代码如下:<div class="codebody" id="code18316"> <?php //定义循环的数组 $arr = array('website'=>'//www.52php.cn','webname'=>'编程之家') while(list($k,$v) = each($arr)){ echo $k.'=>'.$v.' '; } ?> 52php.cn 输出结果为: website=>//www.52php.cn webname=>PHP程序员 总结:上述三种循环遍历数组的方法中建议大家使用foreach语句循环遍历数组,效率更高。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |