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 相关文章推荐
一次编写,随处运行
Oct 09 PHP
通过对服务器端特性的配置加强php的安全
Oct 09 PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
Apr 09 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
Jun 17 PHP
php+mysqli使用面向对象方式查询数据库实例
Jan 29 PHP
php防止sql注入简单分析
Mar 18 PHP
基于PHP技术开发客服工单系统
Jan 06 PHP
php简单创建zip压缩文件的方法
Apr 30 PHP
CI框架无限级分类+递归的实现代码
Nov 01 PHP
php文件包含目录配置open_basedir的使用与性能详解
Apr 03 PHP
浅谈PHP面向对象之访问者模式+组合模式
May 22 PHP
php链式操作的实现方式分析
Aug 12 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
php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
2011/11/07 PHP
php设计模式之单例模式使用示例
2014/01/20 PHP
php删除数组元素示例分享
2014/02/17 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
php str_replace替换指定次数的方法详解
2017/05/05 PHP
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
动态调用CSS文件的JS代码
2010/07/29 Javascript
JavaScript 类型的包装对象(Typed Wrappers)
2011/10/27 Javascript
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
vue自定义指令实现v-tap插件
2016/11/03 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
纯JS焦点图特效实例(可一个页面多用)
2016/12/07 Javascript
jQuery Easyui datagrid行内实现【添加】、【编辑】、【上移】、【下移】
2016/12/19 Javascript
从零学习node.js之文件操作(三)
2017/02/21 Javascript
如何理解Vue的render函数的具体用法
2017/08/30 Javascript
java和js实现的洗牌小程序
2019/09/30 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
django在接受post请求时显示403forbidden实例解析
2018/01/25 Python
python实现决策树分类
2018/08/30 Python
Golang GBK转UTF-8的例子
2019/08/26 Python
python3 实现调用串口功能
2019/12/26 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
前端制作动画的几种方式(css3,js)
2016/12/12 HTML / CSS
CSS3 实现图形下落动画效果
2020/11/13 HTML / CSS
您的网上新华书店:文轩网
2016/08/24 全球购物
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
英国地毯卖家:The Rug Seller
2019/07/18 全球购物
倡议书格式
2014/04/14 职场文书
通信工程专业求职信
2014/06/04 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
国家税务局领导班子对照检查材料思想汇报
2014/10/04 职场文书
党员群众路线教育实践活动学习笔记
2014/11/05 职场文书
赔偿协议书
2015/01/27 职场文书