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 fopen 读取带中文URL地址的一点见解
Sep 25 PHP
浅析php插件 HTMLPurifier HTML解析器
Jul 01 PHP
web server使用php生成web页面的三种方法总结
Oct 28 PHP
php中cookie的使用方法
Mar 29 PHP
php将字符串转化成date存入数据库的两种方式
Apr 28 PHP
PHP列出MySQL中所有数据库的方法
Mar 12 PHP
Mac环境下php操作mysql数据库的方法分享
May 11 PHP
深入浅析用PHP实现MVC
Mar 02 PHP
PHP如何实现跨域
May 30 PHP
php异常处理捕获错误整理
Sep 23 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 PHP
TP5框架实现签到功能的方法分析
Apr 05 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
PHP5 面向对象程序设计
2008/02/13 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
Yii支持多域名cors原理的实现
2018/12/05 PHP
JQuery autocomplete 使用手册
2010/04/01 Javascript
javascript与webservice的通信实现代码
2010/12/25 Javascript
浅谈利用JavaScript进行的DDoS攻击原理与防御
2015/06/04 Javascript
理解jquery事件冒泡
2016/01/03 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
Asp.Net之JS生成分页条的方法
2016/11/23 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
2017/01/04 Javascript
深入理解Vuex 模块化(module)
2017/09/26 Javascript
vue实现密码显示隐藏切换功能
2018/02/23 Javascript
浅谈node中的cluster集群
2018/06/02 Javascript
vue中tab选项卡的实现思路
2018/11/25 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
2018/12/12 Javascript
js中实现继承的五种方法
2021/01/25 Javascript
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
Python使用PyGreSQL操作PostgreSQL数据库教程
2014/07/30 Python
pycham查看程序执行的时间方法
2018/11/29 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
Python变量作用域LEGB用法解析
2020/02/04 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
2021/02/20 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
高一家长会邀请函
2014/01/12 职场文书
试用期员工考核制度
2014/01/22 职场文书
深入开展党的群众路线教育实践活动方案
2014/02/04 职场文书
《口技》教学反思
2014/02/21 职场文书
《伯牙绝弦》教学反思
2014/03/02 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
保护水资源的标语
2014/06/17 职场文书
国际金融专业自荐信
2014/07/05 职场文书
2014感恩节演讲稿大全
2014/10/11 职场文书
工作经历证明书范文
2014/11/02 职场文书
爱心捐款活动总结
2015/05/09 职场文书