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 实例化类的一点摘记
Mar 23 PHP
php 多个submit提交表单 处理方法
Jul 07 PHP
PHPWind 发帖回帖Api PHP版打包下载
Feb 08 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
Jun 24 PHP
php中sprintf与printf函数用法区别解析
Feb 17 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
May 04 PHP
PHP中加密解密函数与DES加密解密实例
Oct 17 PHP
PHP简单的MVC框架实现方法
Dec 01 PHP
Yii Framework框架使用PHPExcel组件的方法示例
Jul 24 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 PHP
PHP 自动加载类原理与用法实例分析
Apr 14 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
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
2011/12/05 PHP
php数组去重实例及分析
2013/11/26 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
2014/05/10 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
2014/06/22 PHP
php将远程图片保存到本地服务器的实现代码
2015/08/03 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
2020/02/03 PHP
php + ajax 实现的写入数据库操作简单示例
2020/05/16 PHP
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
2013/12/12 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
第四章之BootStrap表单与图片
2016/04/25 Javascript
jQuery联动日历的实例解析
2016/12/02 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
2016/12/05 Javascript
vue cli2.0单页面title修改方法
2018/06/07 Javascript
跟混乱的页面弹窗说再见
2019/04/11 Javascript
vue 父组件通过v-model接收子组件的值的代码
2019/10/27 Javascript
Django框架中处理URLconf中特定的URL的方法
2015/07/20 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
Python简易版图书管理系统
2019/08/12 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
如何爬取通过ajax加载数据的网站
2019/08/15 Python
用pytorch的nn.Module构造简单全链接层实例
2020/01/14 Python
基于TensorFlow中自定义梯度的2种方式
2020/02/04 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
浅谈django channels 路由误导
2020/05/28 Python
解决TensorFlow程序无限制占用GPU的方法
2020/06/30 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
2013/01/31 HTML / CSS
韩国演唱会订票网站:StubHub韩国
2019/01/17 全球购物
Lookfantastic美国/加拿大:英国知名美妆购物网站
2019/03/27 全球购物
一组SQL面试题
2016/02/15 面试题
加拿大留学自荐信
2014/01/28 职场文书
会计求职信
2014/05/29 职场文书
政风行风评议工作总结
2014/10/21 职场文书
公司与个人合作协议书
2016/03/19 职场文书