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中的 == 运算符进行字符串比较
Nov 26 PHP
PHP写的求多项式导数的函数代码
Jul 04 PHP
php获取通过http协议post提交过来xml数据及解析xml
Dec 16 PHP
set_include_path和get_include_path使用及注意事项
Feb 02 PHP
php源码分析之DZX1.5随机数函数random用法
Jun 17 PHP
在Windows系统下使用PHP生成Word文档的教程
Jul 03 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
Oct 26 PHP
PHP的时间戳与具体时间转化的简单实现
Jun 13 PHP
php array_key_exists() 与 isset() 的区别
Oct 24 PHP
使用PHPWord生成word文档的方法详解
Jun 06 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
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
PHP XML备份Mysql数据库
2009/05/27 PHP
php采用ajax数据提交post与post常见方法总结
2014/11/10 PHP
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
Laravel实现ORM带条件搜索分页
2019/10/24 PHP
node.js中的console.warn方法使用说明
2014/12/09 Javascript
JavaScript的内存释放问题详解
2015/01/21 Javascript
深入理解Java线程编程中的阻塞队列容器
2015/12/07 Javascript
JS刷新父窗口的几种方式小结(推荐)
2016/11/09 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
vue-cli 打包使用history模式的后端配置实例
2018/09/20 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
JS数组Reduce方法功能与用法实例详解
2020/04/29 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
python实现自动重启本程序的方法
2015/07/09 Python
python daemon守护进程实现
2016/08/27 Python
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
django框架用户权限中的session缓存到redis中的方法
2019/08/06 Python
Python中pymysql 模块的使用详解
2019/08/12 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
2019/11/26 Python
解决Python二维数组赋值问题
2019/11/28 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
CSS3地图动态实例代码(圆圈向外扩散)
2018/06/15 HTML / CSS
使用HTML和CSS3绘制基本卡通图案的示例分享
2015/11/06 HTML / CSS
css3利用transform变形结合事件完成扇形导航
2020/10/26 HTML / CSS
ASP.NET中的身份验证有那些
2012/07/13 面试题
节水标语大全
2014/06/11 职场文书
小学生五年级大队长竞选发言稿
2014/09/12 职场文书
国际商务专业毕业生自我鉴定2014
2014/09/27 职场文书
小学公民道德宣传日活动总结
2015/03/23 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书
强烈推荐:小学生:暑假作息时间表(值得收藏)
2019/07/09 职场文书
python运算符之与用户交互
2022/04/13 Python
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
2022/06/28 Oracle