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之数据库操作详解及乱码解决!
Jan 02 PHP
PHP 判断变量类型实现代码
Oct 23 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
Dec 16 PHP
php实现简单洗牌算法
Jun 18 PHP
Smarty局部缓存的几种方法简介
Jun 17 PHP
Codeigniter检测表单post数据的方法
Mar 21 PHP
php实现可运算的验证码
Nov 10 PHP
基于PHP实现等比压缩图片大小
Mar 04 PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
php app支付宝回调(异步通知)详解
Jul 25 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
杏林同学录(一)
2006/10/09 PHP
一个颜色轮换的简单例子
2006/10/09 PHP
php实现网站文件批量压缩下载功能
2015/10/28 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
2016/04/26 PHP
PHP 自动加载的简单实现(推荐)
2016/08/12 PHP
php解决DOM乱码的方法示例代码
2016/11/20 PHP
使用onbeforeunload属性后的副作用
2007/03/08 Javascript
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
JS 实现点击a标签的时候让其背景更换
2013/10/15 Javascript
jquery实现的蓝色二级导航条效果代码
2015/08/24 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
限制复选框最多选择项的实现代码
2016/05/30 Javascript
Three.js快速入门教程
2016/09/09 Javascript
利用纯Vue.js构建Bootstrap组件
2016/11/03 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
2017/08/25 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
Vue项目组件化工程开发实践方案
2018/01/09 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
Vue 开发必须知道的36个技巧(小结)
2019/10/09 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
[58:23]LGD vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
2018/12/12 Python
Python中实现输入一个整数的案例
2020/05/03 Python
html5+css如何实现中间大两头小的轮播效果
2018/12/06 HTML / CSS
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
毕业自我鉴定
2013/11/05 职场文书
乡镇干部十八大感言
2014/02/17 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
复试通知单模板
2015/04/24 职场文书
教师年度考核自我评鉴
2015/08/11 职场文书
互联网创业商业模式以及赚钱法则有哪些?
2019/10/12 职场文书
如何通过一篇文章了解Python中的生成器
2022/04/02 Python