php遍历数组与数组指针
在学习php的时候,使用数组,就会用到数组指针,这个指针和C语言的指针有点类似,不过现在我使用的感受是感受是它不像C语言那样需要先声明定义一个指针变量,而是每个数组自带的。这样比感觉比C语言方便了许多,所以在php中使用指针的时候就要用到一下几个函数(如果指针没有移动,默认指向array[0]位置):
1.key():返回数组当前指针元素的索引;
2.current():返回当前指针元素的值;
3.next():指针向前移动一位,并返回移动后指针指向的值;如果超出数组元素的末尾,则放回false;
4.prev():将指针往回移动一位,并返回指针元素的值,如果指针原来来就指向数组的第一个位置,则返回false;
5:reset():将指针指向第一个元素,并返回第一个元素的值;
6.end():将指针指向最后一个元素,并返回最后一个元素的值;
7.each():返回当前指针元素的键和值,并将指针推进一个位置;
8:list():把数组中的值赋给一些变量;
/*遍历数组*//*for循环遍历*/echo '使用for遍历$ArrLetter数组:';$count = count($ArrLetter);echo current($ArrLetter);echo reset($ArrLetter);for ($i=0; $i <$count ; $i++) { echo $ArrLetter[$i]; echo next($ArrLetter);}echo "<br/>";/*使用数组指针遍历*/$ArrFruits2 = array("apple","orange","banana");echo "使用数组指针遍历:"."<br/>";echo current($ArrFruits2);echo "<br/>";each($ArrFruits2);echo current($ArrFruits2);echo "<br/>";next($ArrFruits2);echo current($ArrFruits2);echo "<br/>";end($ArrFruits2);print_r(each($ArrFruits2));echo "<br/>";/*使用list()函数把数组中的值赋给变量*/echo "使用list()函数把数组中的值赋给变量:"."<br/>";list($fruit1,$fruit2,$fruit3) = $ArrFruits2;echo $fruit1." ".$fruit2." ".$fruit3."<br/>";/*使用其他循环语句*/echo "使用do-while语句遍历数组:";$ArrFruits4 = array("apple","orange","banana");do{echo key($ArrFruits4)." ".current($ArrFruits4);}while(next($ArrFruits4));echo "<br/>";reset($ArrFruits4); //将数组指针指向第一个元素echo "使用while语句遍历数组:";while ($arr = each($ArrFruits4)) {echo $arr['key'].' '.$arr['value'];}echo "<br/>";reset($ArrFruits4); //将数组指针指向第一个元素echo "使用while语句遍历数组:";while(list($key,$value) = each($ArrFruits4)){echo $key." ".$value;}echo "<br/>";/*foreach循环遍历*/$ArrProduct = array('pname'=>'NOKIA N97','price'=>'1500','pubtime'=>'2008',); //注意“,”和“;”echo "使用foreach遍历数组:".'<br/>';if (is_array($ArrProduct)&&!empty($ArrProduct)) {foreach ($ArrProduct as $key => $value) {echo $key.":".$value."<br/>";}}echo "<br/>";
php遍历数组与数组指针相关推荐
- c++ 二维数组_C|数形结合理解数组指针、指针数组、一级指针来遍历二维数组
二维数组本质是也是线性存储的一维数组,各元素都是相对于基地址(首地址)的偏移,只是逻辑上的维度区分而已.或者可以理解为数组的数组,也就是说,n维数组的元素是一个n-1维数组. 需要注意的是,多维数组名 ...
- 细说PHP笔记03(第7章)--数组与数据结构,数组定义,数组遍历,数组内部指针遍历,键值操作函数,统计数组函数,回调函数处理数组元素,数组排序,拆分、合并、分解、结合数组,数组实现堆栈,随机选取元素
1.数组 索引数组:索引值是整数 关联数组:索引值是字符串 2.数组的定义 1.以直接赋值的方式声明 $数组名[下标]=资料内容 或 $数组名[关联字符串(键值)]=资料内容 <?php $va ...
- 关于C语言中的数组指针、指针数组以及二级指针
概念解释 数组指针:首先它是一个指针,它指向一个数组,即指向数组的指针:在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道.数组指针指向的是数组中的一个具体元素,而不是整个数组,所 ...
- extern数组与extern指针
数组名代表了存放该数组的那块内存,它是这块内存的首地址.这就说明了数组名 是一个地址,而且,还是一个不可修改的常量,完整地说,就是一个地址常量.数组名 跟枚举常量一样,都属于符号常量.数组名 这个符号 ...
- 【C语言】12-指向一维数组元素的指针
本文目录 一.用指针指向一维数组的元素 二.用指针遍历数组元素 三.指针与数组的总结 四.数组.指针与函数参数 说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能 ...
- C++知识点杂记1——typedef、static_cast、const_cast、遍历二维数组、聚合类
1.typedef typedef一般是对某种类型的类型别名(不是变量别名) typedef double db;void mixtypename() {db d=1.2;cout<<d& ...
- C语言学习笔记--预编译/宏定义/数组/参数传递/函数指针
目录 预编译 值传递.指针传递.引用传递 数组 typedef 函数指针 预编译 预编译又叫预处理.预编译不是编译,而是编译前的处理.这个操作是在正式编译之前由系统自动完成的.#define 和 #i ...
- 【C 语言】二级指针内存模型 ( 指针数组 | 二维数组 | 自定义二级指针 | 将 一、二 模型数据拷贝到 三 模型中 并 排序 )
文章目录 一.指针数组 和 二维数组 数据 拷贝到 自定义二级指针 中 1.函数形参 设计规则 2.三种内存模型 对应 函数形参 指针退化规则 二.完整代码示例 一.指针数组 和 二维数组 数据 拷贝 ...
- 【C 语言】二级指针作为输入 ( 指针数组 | 将 二级指针 作为函数输入 | 抽象函数业务逻辑 )
文章目录 一.打印 指针数组 中指针指向的字符串 二.字符串排序 三.代码示例 一.打印 指针数组 中指针指向的字符串 打印 指针数组 中指针指向的字符串 : 指针退化问题 : 传入二级指针 , 同时 ...
- 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)
相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...
最新文章
- Deepmind AlphaStar 如何战胜人类职业玩家【中科院自动化所深度解析】
- 从大数据到安全大数据分析
- [翻译]NUnit--前言(一)
- 【论文解读】通过知识蒸馏促进轻量级深度估计
- php 大批量的删除图片,PHP批量删除记录同时删除图片文件
- 自学java去哪找工作比较好_如何自学java?什么程度可以找工作?
- iPhone8 和 X 买哪个?听我的
- c语言中有死循环时上机编译,2011级C语言复习题(精简)
- js网页顶部线性页面加载进度条,jquery头部线性进度条总结
- 内存管理:Linux Memory Management:MMU、段、分页、PAE、Cache、TLB
- c#DataGridView响应键盘事件
- Linux TC的ifb原理以及ingress流控
- python3读取多行数据合并_python3 数据规整化:清理、转换、合并、重塑(一)
- 百度云盘超4G大文件上传不了怎么办?
- java中的坦克大战游戏设计报告论文_基于Android平台坦克大战游戏的设计与实现...
- 管网模型(julia)
- 拼多多免费版 自动回复 关键词回复 提高3分钟回复率
- JAVAscript中的this指向和this指向的修改
- 如何监控Redis性能指标(译)
- 企业需要考虑的远程办公相关问题