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 IP及IP段进行访问限制的代码
Dec 17 PHP
使用Discuz关键词服务器实现PHP中文分词
Mar 11 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
Aug 05 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
Mar 19 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
ZendFramework框架实现连接两个或多个数据库的方法
Dec 08 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
Apr 20 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
May 27 PHP
php输出反斜杠的实例方法
Sep 19 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
Oct 11 PHP
php判断IP地址是否在多个IP段内
Aug 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
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
2014/06/19 PHP
Laravel 5.3 学习笔记之 错误&amp;日志
2016/08/28 PHP
juqery 学习之六 CSS--css、位置、宽高
2011/02/11 Javascript
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
js单例模式详解实例
2013/11/21 Javascript
javascript继承的六大模式小结
2015/04/13 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
js实现索引图片切换效果
2015/11/21 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
2016/07/01 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
2017/11/08 jQuery
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
实例解析Vue.js下载方式及基本概念
2018/05/11 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
python实现巡检系统(solaris)示例
2014/04/02 Python
跟老齐学Python之一个免费的实验室
2014/09/14 Python
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
2019/05/13 Python
Python算法中的时间复杂度问题
2019/11/19 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
py-charm延长试用期限实例
2019/12/22 Python
scrapy头部修改的方法详解
2020/12/06 Python
《问银河》教学反思
2014/02/19 职场文书
初中班主任寄语
2014/04/04 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
乡镇党委书记个人整改措施
2014/09/15 职场文书
党员干部群众路线个人整改措施
2014/09/18 职场文书
党支部书记四风问题整改措施
2014/09/24 职场文书
整改落实自查报告
2014/11/05 职场文书
《抽屉原理》教学反思
2016/02/20 职场文书
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android