在学习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遍历数组与数组指针相关推荐

  1. c++ 二维数组_C|数形结合理解数组指针、指针数组、一级指针来遍历二维数组

    二维数组本质是也是线性存储的一维数组,各元素都是相对于基地址(首地址)的偏移,只是逻辑上的维度区分而已.或者可以理解为数组的数组,也就是说,n维数组的元素是一个n-1维数组. 需要注意的是,多维数组名 ...

  2. 细说PHP笔记03(第7章)--数组与数据结构,数组定义,数组遍历,数组内部指针遍历,键值操作函数,统计数组函数,回调函数处理数组元素,数组排序,拆分、合并、分解、结合数组,数组实现堆栈,随机选取元素

    1.数组 索引数组:索引值是整数 关联数组:索引值是字符串 2.数组的定义 1.以直接赋值的方式声明 $数组名[下标]=资料内容 或 $数组名[关联字符串(键值)]=资料内容 <?php $va ...

  3. 关于C语言中的数组指针、指针数组以及二级指针

    概念解释 数组指针:首先它是一个指针,它指向一个数组,即指向数组的指针:在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道.数组指针指向的是数组中的一个具体元素,而不是整个数组,所 ...

  4. extern数组与extern指针

    数组名代表了存放该数组的那块内存,它是这块内存的首地址.这就说明了数组名 是一个地址,而且,还是一个不可修改的常量,完整地说,就是一个地址常量.数组名 跟枚举常量一样,都属于符号常量.数组名 这个符号 ...

  5. 【C语言】12-指向一维数组元素的指针

    本文目录 一.用指针指向一维数组的元素 二.用指针遍历数组元素 三.指针与数组的总结 四.数组.指针与函数参数 说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能 ...

  6. C++知识点杂记1——typedef、static_cast、const_cast、遍历二维数组、聚合类

    1.typedef typedef一般是对某种类型的类型别名(不是变量别名) typedef double db;void mixtypename() {db d=1.2;cout<<d& ...

  7. C语言学习笔记--预编译/宏定义/数组/参数传递/函数指针

    目录 预编译 值传递.指针传递.引用传递 数组 typedef 函数指针 预编译 预编译又叫预处理.预编译不是编译,而是编译前的处理.这个操作是在正式编译之前由系统自动完成的.#define 和 #i ...

  8. 【C 语言】二级指针内存模型 ( 指针数组 | 二维数组 | 自定义二级指针 | 将 一、二 模型数据拷贝到 三 模型中 并 排序 )

    文章目录 一.指针数组 和 二维数组 数据 拷贝到 自定义二级指针 中 1.函数形参 设计规则 2.三种内存模型 对应 函数形参 指针退化规则 二.完整代码示例 一.指针数组 和 二维数组 数据 拷贝 ...

  9. 【C 语言】二级指针作为输入 ( 指针数组 | 将 二级指针 作为函数输入 | 抽象函数业务逻辑 )

    文章目录 一.打印 指针数组 中指针指向的字符串 二.字符串排序 三.代码示例 一.打印 指针数组 中指针指向的字符串 打印 指针数组 中指针指向的字符串 : 指针退化问题 : 传入二级指针 , 同时 ...

  10. 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

最新文章

  1. Deepmind AlphaStar 如何战胜人类职业玩家【中科院自动化所深度解析】
  2. 从大数据到安全大数据分析
  3. [翻译]NUnit--前言(一)
  4. 【论文解读】通过知识蒸馏促进轻量级深度估计
  5. php 大批量的删除图片,PHP批量删除记录同时删除图片文件
  6. 自学java去哪找工作比较好_如何自学java?什么程度可以找工作?
  7. iPhone8 和 X 买哪个?听我的
  8. c语言中有死循环时上机编译,2011级C语言复习题(精简)
  9. js网页顶部线性页面加载进度条,jquery头部线性进度条总结
  10. 内存管理:Linux Memory Management:MMU、段、分页、PAE、Cache、TLB
  11. c#DataGridView响应键盘事件
  12. Linux TC的ifb原理以及ingress流控
  13. python3读取多行数据合并_python3 数据规整化:清理、转换、合并、重塑(一)
  14. 百度云盘超4G大文件上传不了怎么办?
  15. java中的坦克大战游戏设计报告论文_基于Android平台坦克大战游戏的设计与实现...
  16. 管网模型(julia)
  17. 拼多多免费版 自动回复 关键词回复 提高3分钟回复率
  18. JAVAscript中的this指向和this指向的修改
  19. 如何监控Redis性能指标(译)
  20. 企业需要考虑的远程办公相关问题

热门文章

  1. Choosing Quadcopter Motors and Props
  2. 用Python给女友准备个绝对甜蜜的七夕礼物
  3. dnf剑魂buff等级上限_DNF:剑魂变“天帝”,破极/光之兵刃分不清,白白损失几千万金币...
  4. Python WSGI笔记
  5. 进击的扑通社区,为何成了Z世代聚集地?
  6. 音乐怎么发在计算机里,音乐伴奏怎么发送到微信、电脑、手机、U盘?
  7. 论文复现相关资料汇总
  8. 在 Python 中如何将字符串转换为整数
  9. vue 返回前一个页面操作
  10. ppt中将文字转变为形状和图片