来说下php数组的遍历,可能很多人会质疑,数组的遍历有啥好说的,一个for循环,不就出来了,其实不然,for循环遍历php数组是最糟糕的php代码,下面对比详细分析下。
大家都知道C++,C#在定义数组的时候会在栈区分配连续固定大小的内存空间给数组变量,C++一般用for循环递增偏移量遍历数组;C#除了for循环,还可以使用foreach遍历;那php呢??经常会看到下面的代码:
<?php $arr = array( 0=>"zxp", 1=>"male", 2=>"北京西三旗" ); for($i=0;$i<count($arr);$i++) { echo $arr[$i]; } ?>
这样的代码暂时没问题,但是容错性特低,健壮性特差,一不小心就出错了。php数组并不是连续的内存空间,无法使用连续的偏移量遍历数组,并且php数组可伸缩,比如上面代码$arr插入一个元素$arr[5]=5,for循环肯定要出错了。
php数组遍历要使用foreach和while,下边分别给出这两种遍历法
<?php $arr = array( //"comment"=>"personal information", 0=>"zxp", 1=>"male", "age"=>29, 2=>"北京西三旗" ); $arr[4] = "高级开发工程师"; foreach ($arr as $key => $value) { echo $key.':'.$value.'</br>'; } ?>
如上代码,遍历的事情交给foreach,遍历到的数组元素,键名赋值给$key,值赋值给$value。
<?php $arr = array( 0=>"zxp", 1=>"male", "age"=>29, 2=>"北京西三旗" ); reset($arr); while (list($key,$value) = each($arr)) { echo $key.':'.$value.'</br>'; } ?>
如上代码,数组遍历的事情交给each函数。在使用while循环加list操作加each函数遍历php数组的时候一定要注意:在while循环前,调用下reset函数,将数组指针指向第一个元素,不然,你会发现遍历出来的元素不够数目。
相关推荐
php数组遍历的类
PHP数组遍历方法小结 PHP数组遍历方法小结
主要介绍了PHP数组遍历知识汇总,本文包含3种遍历方法、7个数组指针操作函数、对3种数组遍历的速度测试等内容,需要的朋友可以参考下
主要介绍了php数组遍历类与用法,结合实例形式分析了php基于面向对象的数组遍历、读取操作封装与使用技巧,需要的朋友可以参考下
比如: <?...$arr[‘yahoo’] = 2007;$arr[‘baidu’] = 2008;foreach ($arr as $key => $val) {//结果...要完全了解清楚这个问题, 我想首先应该要大家了解PHP数组的内部实现结构……… PHP的数组 在PHP中, 数组是用
主要介绍了PHP数组遍历的几种常见方式,结合实例形式总结分析了php数组遍历相关的循环、指针、数组函数等操作技巧,需要的朋友可以参考下
PHP程序设计-3期(KC016) 2.7.3数组遍历常见问题.docx 学习资料 复习资料 教学资源
PHP程序设计-3期(KC016) 2.7.3数组遍历拓展知识.doc 学习资料 复习资料 教学资源
PHP程序设计-3期(KC016) 2.7.3数组遍历课后习题.doc 学习资料 复习资料 教学资源
下面小编就为大家带来一篇PHP 数组遍历foreach语法结构及实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
下面介绍PHP中遍历关联数组的三种方法: 方法1:foreach 复制代码 代码如下: <?php $sports = array( ‘football’ => ‘good’, ‘swimming’ => ‘very well’, ‘running’ => ‘not good’); foreach ($...
主要介绍了PHP多维数组遍历方法,实例分析了2种多维数组的遍历技巧,包括简单的foreach遍历与递归操作遍历实现方法,需要的朋友可以参考下
php /* 数组的遍历 * * 1.使用for语句循环遍历数组 * 1.其他语言(只有这一种方式) * 2.PHP中这种方式不是首选的方式 * 3.数组必须是索引数组,而且下标必须是连续的。 * (索引数组下标可以不连续,数组还有关联数组,...
主要介绍了thinkPHP中多维数组的遍历方法,以简单实例形式分析了thinkPHP中foreach语句的使用技巧,需要的朋友可以参考下