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的日期与时间函数技巧
Apr 24 PHP
PHP遍历二维数组的代码
Apr 22 PHP
解析百度搜索结果link?url=参数分析 (全)
Oct 09 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
Jul 08 PHP
php使用pdo连接mssql server数据库实例
Dec 25 PHP
深入浅出php socket编程
May 13 PHP
PHP中static关键字以及与self关键字的区别
Jul 01 PHP
教你php如何实现验证码
Jan 20 PHP
修改Laravel5.3中的路由文件与路径
Aug 10 PHP
php一个文件搞定微信jssdk配置
Dec 12 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
Apr 20 PHP
PHP基于ip2long实现IP转换整形
Dec 11 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实现paypal整合方法
2010/11/28 PHP
PHP打开和关闭文件操作函数总结
2014/11/18 PHP
PHP常量define和const的区别详解
2019/05/18 PHP
半角全角相互转换的js函数
2009/10/16 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
javascript比较两个日期相差天数的方法
2015/07/23 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
JavaScript模拟鼠标右键菜单效果
2020/12/08 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
javascript输出AscII码扩展集中的字符方法
2016/12/26 Javascript
bootstrap IE8 兼容性处理
2017/03/22 Javascript
JS开发中百度地图+城市联动实现实时触发查询地址功能
2017/04/13 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
动态内存分配导致影响Javascript性能的问题
2018/12/18 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
微信小程序绘制图片发送朋友圈
2019/07/25 Javascript
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
python 使用装饰器并记录log的示例代码
2019/07/12 Python
pytorch 输出中间层特征的实例
2019/08/17 Python
查看端口并杀进程python脚本代码
2019/12/17 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
家长给小学生的评语
2014/01/30 职场文书
电子工程专业毕业生求职信
2014/03/14 职场文书
现金出纳岗位职责
2014/03/15 职场文书
车辆年检委托书范本
2014/10/14 职场文书
大学教师个人总结
2015/02/10 职场文书
2015年机关后勤工作总结
2015/05/26 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书
python实现黄金分割法的示例代码
2021/04/28 Python
golang 如何通过反射创建新对象
2021/04/28 Golang