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 相关文章推荐
PHP4 与 MySQL 数据库操作函数详解
Dec 06 PHP
PHP与SQL注入攻击[二]
Apr 17 PHP
sqlyog 中文乱码问题的设置方法
Oct 19 PHP
PHP 类型转换函数intval
Jun 20 PHP
php中大括号作用介绍
Mar 22 PHP
php中的字符编码转换函数用法示例
Oct 20 PHP
PHP生成json和xml类型接口数据格式
May 17 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
实现PHP搜索加分页
Oct 12 PHP
PHP面向对象之工作单元(实例讲解)
Jun 26 PHP
laravel中的一些简单实用功能
Nov 03 PHP
Yii框架 session 数据库存储操作方法示例
Nov 18 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
mysql 性能的检查和优化方法
2009/06/21 PHP
php+javascript的日历控件
2009/11/19 PHP
PHP无限分类(树形类)的深入分析
2013/06/02 PHP
PHP实现获取图片颜色值的方法
2014/07/11 PHP
PHP实现打包下载文件的方法示例
2017/10/07 PHP
PHP Ajax跨域问题解决方案代码实例
2020/08/01 PHP
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
jQuery获取文本节点之 text()/val()/html() 方法区别
2011/03/01 Javascript
js实现上传图片之上传前预览图片
2013/03/25 Javascript
在Mac OS下使用Node.js的简单教程
2015/06/24 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
Node.js模块封装及使用方法
2016/03/06 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
2016/05/24 Javascript
AngularJS中的包含详细介绍及实现示例
2016/07/28 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
Vue.extend实现挂载到实例上的方法
2019/05/01 Javascript
[02:33]DOTA2亚洲邀请赛趣味视频之吐真话筒
2018/03/31 DOTA
用python登录Dr.com思路以及代码分享
2014/06/25 Python
python3.6编写的单元测试示例
2019/08/17 Python
python3 常见解密加密算法实例分析【base64、MD5等】
2019/12/19 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
python 的topk算法实例
2020/04/02 Python
CSS3中线性颜色渐变的一些实现方法
2015/07/14 HTML / CSS
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
法国亚马逊官方网站:Amazon.fr
2020/12/19 全球购物
我的长生果教学反思
2014/04/28 职场文书
入职担保书范文
2014/05/21 职场文书
预防传染病方案
2014/06/14 职场文书
岁月神偷观后感
2015/06/11 职场文书
《鲸》教学反思
2016/02/23 职场文书
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫
python多次执行绘制条形图
2022/04/20 Python