php 数组的指针操作实现代码


Posted in PHP onFebruary 08, 2011

/**
* 将数组的内部指针倒回一位
* @param array &$arr
* @return mixed 返回前一个单元的值,当没有更多单元时返回 FALSE
* 如果数组包含空的单元,或者单元的值是 0 则本函数碰到这些单元也返回 FALSE
* 要正确遍历可能含有空单元或者单元值为 0 的数组,参见 each() 函数
*/
mixed prev(array &$arr);
<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport); // $mode = 'bike';
$mode = next($transport); // $mode = 'car';
$mode = prev($transport); // $mode = 'bike';
$mode = end($transport); // $mode = 'plane';
$mode = reset($transport) ;//$mode = 'foot';
?>

array("key"=>"value");建立数组
//显示数组
print_r($array);
//使用compact()函数新建数组,并把参数做为新数组的单元;
$newArray = compact("red","green","yellow","blue","array");
//使用extract()函数把数组中的单元转换为变量
extract($exArray);
echo "$key1 $key2 $key3 $key4 $key5";

※检查值、键
array_key_exists($key,$array);//检查数组键
in_array($value,$array);//检查值于数组

※获取值
//使用array_values()取得数组的值
$carValues = array_values($car);
//取出数组的键名
$twoKeys = array_keys($two);
key($array);//输出当前单元的键名
//数组定义后,使用current()取得当前单元的值
$red = current($array);
list($red,$green) = $array;//把数组中的值赋与变量,$array = array("红色","绿色");
each($two);//返回数组中当前单元的键和值

※遍历数组
foreach($two as $subArray);//遍历数组
while(list($key,$value) = each($array)){
echo "$key=>$value,";//使用each遍历数组
}

※填充数组
//向左、右填充数组
array_pad($array,+3,"shuzhi");//2参数为正从左往右填充,数值大于单元数时才填充
$array1 = array_fill(5,5,"test");//使用array_fill()填充这个数组的值,值为test,从第5个单元开始填充,一共填充5个单元
//填充数组键名
$keys = array('string', 5, 10, 'str');
$array3 = array_fill_keys($keys,"数组值");
//使用array_filp()函数交换键名与值
$speed = array_flip($speed);
//使用array_splice()函数替换第6个单元的值为7
$output = array_splice($input,6,0,7);
//使用array_splice()函数删除数组单元,只保留前5个单元
$output = array_splice($input,5);
$array1 = range(10,100,10); //使用range()函数的第三个参数,设置单元之间的步进值

※排序
shuffle($array);//将数组顺序打乱
//使用array_multisort()对三个数组排序
array_multisort($sort1,$sort2,$sort3);
//把这个数组进行排序,并保持索引关系
asort($array);
//把测试数组进行逆向排序,并保持索引关系
arsort($array);
//使用ksort()对数组按键名排序
ksort($array);
//使用krsort()函数按键名逆向排序
krsort($array);
//使用sort()对测试数组进行排序[以键名排列]
sort($array);
//使用natsort()排序[自然排序,以数值排列]对单元数值大小写敏感
natsort($array);
//使用natcasesort()函数排序[自然排序]但是忽略数值大小写
natcasesort($array);
//使用array_reverse()函数排序,数组单元按相反排列
$newArray = array_reverse($array,TRUE);//TRUE设时保留原键名

※交集、差集
//使用array_diff()计算三个数组的差集[对数组数值比较]
$result = array_diff($dog1,$dog2,$dog3);
//使用array_diff_assoc()计算三个数组的差集[对数值和键名比较]
$result = array_diff_assoc($dog1,$dog2,$dog3);
//使用array_diff_key()计算三个数组的差集[比较键名]
$result = array_diff_key($dog1,$dog2,$dog3);
//使用array_intersect()计算三个数组的交集[对数组数值比较]
$result = array_intersect($dog1,$dog2,$dog3);
//使用array_intersect_assoc()计算三个数组的交集[对数值和键名比较]
$result = array_intersect_assoc($dog1,$dog2,$dog3);
//使用array_intersect_key()计算三个数组的交集[比较键名]
$result = array_intersect_key($dog1,$dog2,$dog3);

※合并数组
//使用array_merge()函数合并数组
$result = array_merge($array1,$array2,$array3,$array4,$array5);
array_rand($input,10);//随机取出10个单元
count($array,COUNT_RECURSIVE);//显示数组单元数目,2参数只可为1或者COUNT_RECURSIVE,有时可遍历多维数组

※出入栈
//数组出栈,后进先出,数组最后一个单元弹出
array_pop($array);
//数组入栈,将7,8两个数值添加到数组尾部
array_push($array,7,8);
//将数组开头单元移出数组
array_shift($array);
//将7,8添加入数组开头
array_unshift($array,7,8);

PHP 相关文章推荐
PHP实现的功能是显示8条基色色带
Oct 09 PHP
Session的工作方式
Oct 09 PHP
php下实现一个阿拉伯数字转中文数字的函数
Jul 10 PHP
php empty,isset,is_null判断比较(差异与异同)
Oct 19 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
Jul 03 PHP
PHP程序开发范例学习之表单 获取文本框的值
Aug 08 PHP
php ci框架验证码实例分析
Jun 26 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
May 15 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
Aug 11 PHP
php等比例缩放图片及剪切图片代码分享
Feb 13 PHP
php实现base64图片上传方式实例代码
Feb 22 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
Jan 29 PHP
PHP游戏编程25个脚本代码
Feb 08 #PHP
PHP通用检测函数集合
Feb 08 #PHP
.htaccess文件保护实例讲解
Feb 06 #PHP
延长phpmyadmin登录时间的方法
Feb 06 #PHP
PHP开发中的错误收集,不定期更新。
Feb 03 #PHP
一些php技巧与注意事项分析
Feb 03 #PHP
PHP数组对比函数,存在交集则返回真,否则返回假
Feb 03 #PHP
You might like
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
使用PHP遍历文件夹与子目录的函数代码
2011/09/26 PHP
Php图像处理类代码分享
2012/01/19 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
2016/01/08 PHP
使用JavaScript创建新样式表和新样式规则
2016/06/14 PHP
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
jquery 插件之仿“卓越亚马逊”首页弹出菜单效果
2008/12/25 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
2013/09/25 Javascript
jquery模拟LCD 时钟的html文件源代码
2014/06/16 Javascript
JQuery仿小米手机抢购页面倒计时效果
2014/12/16 Javascript
JavaScript中window.showModalDialog()用法详解
2014/12/18 Javascript
JQuery.validate在ie8下不支持的快速解决方法
2016/05/18 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
Vue Router的懒加载路径的解决方法
2018/06/21 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
详解JavaScript的内存空间、赋值和深浅拷贝
2019/04/17 Javascript
vue项目首屏加载时间优化实战
2019/04/23 Javascript
[00:33]2018DOTA2亚洲邀请赛TNC出场
2018/04/04 DOTA
在Ubuntu系统下安装使用Python的GUI工具wxPython
2016/02/18 Python
简单谈谈python的反射机制
2016/06/28 Python
python 异常处理总结
2016/10/18 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
Python 判断是否为质数或素数的实例
2017/10/30 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
python中enumerate() 与zip()函数的使用比较实例分析
2019/09/03 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
2020/12/07 Python
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
Perfume’s Club德国官网:在线购买香水
2019/04/08 全球购物
大学生旷课检讨书
2014/01/22 职场文书
应聘编辑自荐信范文
2014/03/12 职场文书
活动总结报告格式
2014/05/09 职场文书
缅怀先烈演讲稿
2014/09/03 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
python中if和elif的区别介绍
2021/11/07 Python