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
一个SQL管理员的web接口
Oct 09 PHP
PHP添加MySQL数据记录代码
Jun 07 PHP
Zend 输出产生XML解析错误
Mar 03 PHP
PHP合并静态文件详解
Nov 14 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
Dec 17 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
Jan 11 PHP
THINKPHP在添加数据的时候获取主键id的值方法
Apr 03 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
Jul 13 PHP
PHP中OpenSSL加密问题整理
Dec 14 PHP
Laravel 5.2 文档 数据库 ―― 起步介绍
Oct 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
BBS(php &amp; mysql)完整版(三)
2006/10/09 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
JavaScript 程序编码规范
2010/11/23 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
2012/11/07 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
css如何让浮动元素水平居中
2015/08/07 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
深入理解Vue 单向数据流的原理
2017/11/09 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
2019/05/16 Javascript
layui表单提交到后台自动封装到实体类的方法
2019/09/12 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
JS对象属性的检测与获取操作实例分析
2020/03/17 Javascript
微信小程序自定义tabBar的踩坑实践记录
2020/11/06 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
python网络编程学习笔记(10):webpy框架
2014/06/09 Python
Python中使用第三方库xlrd来读取Excel示例
2015/04/05 Python
python实现比较两段文本不同之处的方法
2015/05/30 Python
OpenCV实现人脸识别
2017/04/07 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
Python文件操作基本流程代码实例
2017/12/11 Python
Python中join函数简单代码示例
2018/01/09 Python
python 信息同时输出到控制台与文件的实例讲解
2018/05/11 Python
python发送告警邮件脚本
2018/09/17 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
python3利用Axes3D库画3D模型图
2020/03/25 Python
加拿大专业美发产品购物网站:Chatters
2021/02/28 全球购物
《小儿垂钓》教学反思
2014/02/23 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
golang 实现时间戳和时间的转化
2021/05/07 Golang
Vue接口封装的完整步骤记录
2021/05/14 Vue.js
python playwrigh框架入门安装使用
2022/07/23 Python