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原理的opcodes(操作码)
Oct 26 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
Feb 01 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
Jun 20 PHP
PHP自动识别字符集并完成转码详解
Aug 02 PHP
php出现web系统多域名登录失败的解决方法
Sep 30 PHP
php实现通用的信用卡验证类
Mar 24 PHP
分享php分页的功能模块
Jun 16 PHP
php实现通过cookie换肤的方法
Jul 13 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
Mar 17 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
PHP大文件分片上传的实现方法
Oct 28 PHP
Laravel 简单实现Ajax滚动加载示例
Oct 22 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
中国收音机工业发展史
2021/03/02 无线电
人大复印资料处理程序_查询篇
2006/10/09 PHP
给php新手谈谈我的学习心得
2007/02/25 PHP
php 各种应用乱码问题的解决方法
2010/05/09 PHP
php提示undefined index的几种解决方法
2012/05/21 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
PHP中is_file()函数使用指南
2015/05/08 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
2019/07/26 PHP
如何用jquery控制表格奇偶行及活动行颜色
2014/04/20 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
JS对字符串编码的几种方式使用指南
2015/05/14 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
2016/07/09 Javascript
基于vue实现swipe分页组件实例
2017/05/25 Javascript
Angular将填入表单的数据渲染到表格的方法
2017/09/22 Javascript
BACKBONE.JS 简单入门范例
2017/10/17 Javascript
五步轻松实现JavaScript HTML时钟效果
2020/03/25 Javascript
js正则相关知识点专题
2018/05/10 Javascript
微信小程序实现蒙版弹窗效果
2018/11/01 Javascript
axios使用拦截器统一处理所有的http请求的方法
2018/11/02 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
深入浅出了解Node.js Streams
2019/05/27 Javascript
详解vue v-model
2020/08/31 Javascript
PyQt 线程类 QThread使用详解
2017/07/16 Python
Python协程的用法和例子详解
2017/09/09 Python
Django使用httpresponse返回用户头像实例代码
2018/01/26 Python
把csv文件转化为数组及数组的切片方法
2018/07/04 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
python中使用input()函数获取用户输入值方式
2020/05/03 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
任命书格式
2014/06/05 职场文书
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js