PHP获取数组的键与值方法小结


Posted in PHP onJune 13, 2015

本文实例讲述了PHP获取数组的键与值方法。分享给大家供大家参考。具体如下:

使用数组的过程中经常要遍历数组。通常需要遍历数组并获得各个键或值(或者同时获得键和值),所以毫不奇怪,PHP为此提供了一些函数来满足需求。许多函数能完成两项任务,不仅能获取当前指针位置的键或值,还能将指针移向下一个适当的位置。

获取当前数组键 key()

key()函数返回input_array中当前指针所在位置的键。其形式如下:

mixed key(array array)

下面的例子通过迭代处理数组并移动指针来输出$fruits数组的键:

$fruits = array("apple"=>"red", "banana"=>"yellow");
while ($key = key($fruits)) {
   printf("%s <br />", $key);
   next($fruits);
}
// apple 
// banana

注意,每次调用key()时不会移动指针。为此需要使用next()函数,这个函数的唯一作用就是完成推进指针的任务。

获取当前数组值 current()

current()函数返回数组中当前指针所在位置的数组值。其形式如下:

mixed current(array array)

下面修改前面的例子,这一次我们要获取数组值:

$fruits = array("apple"=>"red", "banana"=>"yellow");
while ($fruit = current($fruits)) {
   printf("%s <br />", $fruit);
   next($fruits);
}
// red 
// yellow

获取当前数组键和值 each()

each()函数返回input_array的当前键/值对,并将指针推进一个位置。其形式如下:

array each(array array)

返回的数组包含四个键,键0和key包含键名,而键1和value包含相应的数据。如果执行each()前指针位于数组末尾,则返回false。

$fruits = array("apple", "banana", "orange", "pear");
print_r ( each($fruits) );
// Array ( [1] => apple [value] => apple [0] => 0 [key] => 0 )

each() 经常和 list() 结合使用来遍历数组。本例与上例类似,不过循环输出了整个数组:

$fruits = array("apple", "banana", "orange", "pear");
reset($fruits);
while (list($key, $val) = each($fruits))
{
   echo "$key => $val<br />";
}
// 0 => apple
// 1 => banana
// 2 => orange
// 3 => pear

因为将一个数组赋值给另一个数组时会重置原来的数组指针,因此在上例中如果我们在循环内部将 $fruits 赋给了另一个变量的话将会导致无限循环。

这就完成了数组的遍历。

希望本文所述对大家的jQuery程序设计有所帮助。

PHP 相关文章推荐
PHP和XSS跨站攻击的防范
Apr 17 PHP
phpMyAdmin 安装配置方法和问题解决
Jun 08 PHP
PHP数组交集的优化代码分析
Mar 06 PHP
php Session存储到Redis的方法
Nov 04 PHP
ThinkPHP3.2.2的插件控制器功能简述
Jul 09 PHP
php实现的常见排序算法汇总
Sep 08 PHP
php实现根据url自动生成缩略图的方法
Sep 23 PHP
PHP中Session可能会引起并发问题
Jun 26 PHP
WordPress迁移时一些常见问题的解决方法整理
Nov 24 PHP
Yii2前后台分离及migrate使用(七)
May 04 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
Jul 07 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
PHP中你应该知道的require()文件包含的正确用法
Jun 12 #PHP
PHP查找与搜索数组元素方法总结
Jun 12 #PHP
php使用array_search函数实现数组查找的方法
Jun 12 #PHP
php线性表的入栈与出栈实例分析
Jun 12 #PHP
php数组合并与拆分实例分析
Jun 12 #PHP
php结合ACCESS的跨库查询功能
Jun 12 #PHP
php中smarty实现多模版网站的方法
Jun 11 #PHP
You might like
PHP文件上传原理简单分析
2011/05/29 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
一张表搞清楚php is_null、empty、isset的区别
2015/07/07 PHP
php微信开发之图片回复功能
2018/06/14 PHP
js 居中漂浮广告
2010/03/21 Javascript
JQuery从头学起第一讲
2010/07/04 Javascript
理解Javascript_07_理解instanceof实现原理
2010/10/15 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
第四章之BootStrap表单与图片
2016/04/25 Javascript
基于JavaScript实现点击页面任何位置返回
2016/08/31 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
2016/09/12 Javascript
解析NodeJS异步I/O的实现
2017/04/13 NodeJs
JavaScript实现简单评论功能
2017/08/17 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
详解tween.js 中文使用指南
2018/01/05 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
2019/02/15 jQuery
jQuery实现雪花飘落效果
2020/08/02 jQuery
[56:29]Secret vs Optic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:14:31]Secret vs VG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python使用PIL模块实现给图片打水印的方法
2015/05/22 Python
Python中偏函数用法示例
2018/06/07 Python
Python+opencv 实现图片文字的分割的方法示例
2019/07/04 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
django迁移数据库错误问题解决
2019/07/29 Python
python 中的9个实用技巧,助你提高开发效率
2020/08/30 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
用HTML5制作烟火效果的教程
2015/05/12 HTML / CSS
Expedia挪威官网:酒店、机票和租车
2018/03/03 全球购物
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
大学本科毕业生的自我鉴定范文
2013/11/19 职场文书
总经理岗位职责范本
2014/02/02 职场文书
《会走路的树》教后反思
2014/04/19 职场文书
《检阅》教学反思
2016/02/22 职场文书