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和ACCESS写聊天室(二)
Oct 09 PHP
PHP禁止页面缓存的代码
Oct 23 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
Jun 19 PHP
在Windows XP下安装Apache+MySQL+PHP环境
Feb 22 PHP
php简单操作mysql数据库的类
Apr 16 PHP
Symfony实现行为和模板中取得request参数的方法
Mar 17 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
Oct 10 PHP
ThinkPHP开发--使用七牛云储存
Sep 14 PHP
Laravel学习教程之request validation的编写
Oct 25 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
Dec 31 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
Dec 13 PHP
PHP pthreads v3下worker和pool的使用方法示例
Feb 21 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中执行系统外部命令
2006/10/09 PHP
php中var_export与var_dump的区别分析
2010/08/21 PHP
rephactor 优秀的PHP的重构工具
2011/06/09 PHP
php构造函数与析构函数
2016/04/23 PHP
Yii框架弹出框功能示例
2017/01/07 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
PHP多进程简单实例小结
2019/11/09 PHP
JavaScript DOM学习第一章 W3C DOM简介
2010/02/19 Javascript
Javascript之旅 对象的原型链之由来
2010/08/25 Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
JS实现样式清新的横排下拉菜单效果
2015/10/09 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
JS实现动态修改table及合并单元格的方法示例
2017/02/20 Javascript
js实现下拉框效果(select)
2017/03/28 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
2017/05/12 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
详解React服务端渲染从入门到精通
2019/03/28 Javascript
python使用7z解压软件备份文件脚本分享
2014/02/21 Python
Python导出DBF文件到Excel的方法
2015/07/25 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
Django项目中包含多个应用时对url的配置方法
2018/05/30 Python
python实现对csv文件的列的内容读取
2018/07/04 Python
对python中的iter()函数与next()函数详解
2018/10/18 Python
Python模拟FTP文件服务器的操作方法
2020/02/18 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
丝芙兰法国官网:SEPHORA法国
2016/09/01 全球购物
女性时尚在线:IVRose
2019/02/23 全球购物
网友共享的几个面试题关于Java和Unix等方面的
2016/09/08 面试题
大专学生推荐信范文
2013/11/19 职场文书
2015年感恩节演讲稿(优选篇)
2015/03/20 职场文书
毕业生政审意见范文
2015/06/04 职场文书
创业计划书之网吧
2019/10/10 职场文书
java实现面板之间切换功能
2022/06/10 Java/Android