PHP array操作10个小技巧分享


Posted in PHP onJune 23, 2011

1、向array中添加元素
php是一个弱类型语言。因此不必象c语言那样为php array声明长度。向其中添加元素的过程也是声明和初始化的过程。

$capitals = array( 
'Alabama' => 'Montgomery', 
'Alaska' => 'Juneau', 
'Arizona' => 'Phoenix' 
);

继续添加元素也很简单
$capitals['Arkansas'] = 'Little Rock';

如果不是关联数组而只是数字索引的数组可以使用array_push()和array_unshift()函数增加元素
2、从array中删除元素
从数组中移除元素可以使用unset() 函数
unset($capitals['California']);

也可以使用array_pop()或array_shift()函数从数组头或尾部顺序移除元素
3、array键值互换
如果希望新建数组的键是老数组的值而值是老数组的键,简而言之就是键值对调,则可以使用array_flip()函数完成操作
$capitals = array( 
'Alabama' => 'Montgomery', 
'Alaska' => 'Juneau', 
'Arizona' => 'Phoenix' 
); 
$states = array_flip($capitals); 
// $states = array( 
// 'Montgomery' => string 'Alabama', 
// 'Juneau' => string 'Alaska', 
// 'Phoenix' => string 'Arizona' 
// );

4、合并数组
如果希望将两个或多个数组合并成一个新的数组,array_merge()函数可以帮上这个忙^_^
$stateCapitals = array( 
'Alabama' => 'Montgomery', 
'Alaska' => 'Juneau', 
'Arizona' => 'Phoenix' 
); 
$countryCapitals = array ( 
'Australia' => 'Canberra', 
'Austria' => 'Vienna', 
'Algeria' => 'Algiers' 
); 
$capitals = array_merge($stateCapitals, $countryCapitals);

5、修改array中的值
譬如希望将数组的中值全部改为小写后大写首字母,使用回调函数递归地对每个数组成员调用是个不错的方法,php中这个函数是php_map()
function capitalize($element) 
{ 
$element = strtolower($element); 
return ucwords($element); 
} 
$capitals = array( 
'Alabama' => 'montGoMEry', 
'Alaska' => 'Juneau', 
'Arizona' => 'phoeniX' 
); 
$capitals = array_map("capitalize", $capitals);

6、根据array的键为数组排序
$capitals = array( 
'Arizona' => 'Phoenix', 
'Alaska' => 'Juneau', 
'Alabama' => 'Montgomery' 
); 
ksort($capitals);

7、随机化array元素的顺序
shuffle() 和上面的ksort()函数恰恰相反,可以打乱数组现有的秩序,以达到随机化的目的。
$capitals = array( 
'Arizona' => 'Phoenix', 
'Alaska' => 'Juneau', 
'Alabama' => 'Montgomery' 
); 
shuffle($capitals);

8、查找键或值是否存在
查找是否存在值使用in_array()函数
$capitals = array( 
'Arizona' => 'Phoenix', 
'Alaska' => 'Juneau', 
'Alabama' => 'Montgomery' 
); 
if (in_array("Juneau", $capitals)) 
{ 
echo "Exists!"; 
} else { 
echo "Does not exist!"; 
}

查找是否存在键使用array_key_exists()函数
$capitals = array( 
'Arizona' => 'Phoenix', 
'Alaska' => 'Juneau', 
'Alabama' => 'Montgomery' 
); 
if (array_key_exists("Alaska", $capitals)) 
{ 
echo "Key exists!"; 
} else { 
echo "Key does not exist!"; 
}

9、数组查找
这个是老生常谈了,基本上都用的到array_search()函数
$capitals = array( 
'Arizona' => 'Phoenix', 
'Alaska' => 'Juneau', 
'Alabama' => 'Montgomery' 
); 
$state = array_search('Juneau', $capitals); 
// $state = 'Alaska'

10、使用php标准函数库
一口气介绍这个多操作array的函数,如果您还觉得不过瘾,可以继续查看Standard PHP Library 中的内容^_^
$capitals = array( 
'Arizona' => 'Phoenix', 
'Alaska' => 'Juneau', 
'Alabama' => 'Montgomery' 
); 
$arrayObject = new ArrayObject($capitals); 
foreach ($arrayObject as $state => $capital) 
{ 
printf("The capital of %s is %s<br />", $state, $capital); 
} 
// The capital of Arizona is Phoenix 
// The capital of Alaska is Juneau 
// The capital of Alabama is Montgomery
PHP 相关文章推荐
PHP 面向对象 PHP5 中的常量
May 05 PHP
php excel类 phpExcel使用方法介绍
Aug 21 PHP
PHP通过正则表达式下载图片到本地的实现代码
Sep 19 PHP
yii操作session实例简介
Jul 31 PHP
phpnow php探针环境检测代码
Nov 04 PHP
PHP中使用正则表达式提取中文实现笔记
Jan 20 PHP
WAF的正确bypass
Jan 05 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
Mar 09 PHP
PHP编程求最大公约数与最小公倍数的方法示例
May 29 PHP
PHP实现权限管理功能示例
Sep 22 PHP
thinkPHP5框架接口写法简单示例
Aug 05 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
Nov 09 PHP
php 缩略图实现函数代码
Jun 23 #PHP
php中随机显示图片的函数代码
Jun 23 #PHP
使用php shell命令合并图片的代码
Jun 23 #PHP
php whois查询API制作方法
Jun 23 #PHP
PHP字符编码问题之GB2312 VS UTF-8解决方法
Jun 23 #PHP
PHP读取网页文件内容的实现代码(fopen,curl等)
Jun 23 #PHP
php中获取指定IP的物理地址的代码(正则表达式)
Jun 23 #PHP
You might like
杏林同学录(二)
2006/10/09 PHP
Discuz板块横排显示图片的实现方法
2007/05/28 PHP
php FPDF类库应用实现代码
2009/03/20 PHP
PHP中session变量的销毁
2014/02/27 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
2018/05/12 PHP
Laravel5.1 框架控制器基础用法实例分析
2020/01/04 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
2020/04/29 PHP
jquery异步循环获取功能实现代码
2010/09/19 Javascript
jquery默认校验规则整理
2014/03/24 Javascript
JS不能跨域借助jquery获取IP地址的方法
2014/08/20 Javascript
javascript Deferred和递归次数限制实例
2014/10/21 Javascript
javascript下使用Promise封装FileReader
2016/02/19 Javascript
微信小程序 scroll-view组件实现列表页实例代码
2016/12/14 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
nodeJs爬虫的技术点总结
2018/05/13 NodeJs
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
2020/10/31 Javascript
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
Django处理Ajax发送的Get请求代码详解
2019/07/29 Python
Python爬虫学习之获取指定网页源码
2019/07/30 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
药学专业大学生自荐信
2013/09/28 职场文书
《狐假虎威》教学反思
2014/02/07 职场文书
环保建议书作文
2014/03/12 职场文书
机械专业应届毕业生自荐书
2014/06/12 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
学生自我评语
2015/01/04 职场文书
交通事故被告答辩状
2015/05/22 职场文书
消防宣传语大全
2015/07/13 职场文书
小学秋季运动会加油口号及加油稿
2019/08/19 职场文书
python基础之while循环语句的使用
2021/04/20 Python
教你怎么用Python监控愉客行车程
2021/04/29 Python