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 破解防盗链图片函数
Dec 09 PHP
php 无限级缓存的类的扩展
Mar 16 PHP
PHP curl 并发最佳实践代码分享
Sep 05 PHP
php去除换行(回车换行)的三种方法
Mar 26 PHP
ThinkPHP之A方法实例讲解
Jun 20 PHP
php输出金字塔的2种实现方法
Dec 16 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
Laravel路由设定和子路由设定实例分析
Mar 30 PHP
PHP下的浮点运算不准的解决方法
Oct 27 PHP
php观察者模式应用场景实例详解
Feb 03 PHP
laravel清除视图缓存的代码
Oct 23 PHP
PHP pthreads v3下worker和pool的使用方法示例
Feb 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 图片加水印与上传图片加水印php类
2010/05/12 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
javascript 进度条 实现代码
2009/07/30 Javascript
如何实现textarea里的不同文本显示不同颜色
2014/01/20 Javascript
Flexigrid在IE下不显示数据的有效处理方法
2014/09/04 Javascript
js全选实现和判断是否有复选框选中的方法
2015/02/17 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
jQuery遍历DOM节点操作之filter()方法详解
2016/04/14 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
2016/05/16 Javascript
Bootstrap下拉菜单效果实例代码分享
2016/06/30 Javascript
关于js函数解释(包括内嵌,对象等)
2016/11/20 Javascript
使用jQuery,Angular实现登录界面验证码详解
2017/04/27 jQuery
JavaScript使用ZeroClipboard操作剪切板
2017/05/10 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
2019/04/18 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
Vue使用预渲染代替SSR的方法
2020/07/02 Javascript
Python守护进程(daemon)代码实例
2015/03/06 Python
在RedHat系Linux上部署Python的Celery框架的教程
2015/04/07 Python
python 反向输出字符串的方法
2018/07/16 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
在python image 中安装中文字体的实现方法
2019/08/22 Python
Python如何实现强制数据类型转换
2019/11/22 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
Lookfantastic俄罗斯:欧洲在线化妆品零售商
2019/08/06 全球购物
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
个人找工作求职简历的自我评价
2013/10/20 职场文书
新颖的化妆品活动方案
2014/08/21 职场文书
校长师德师风自我剖析材料
2014/09/29 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
2015年教师节演讲稿范文
2015/03/19 职场文书
网吧管理制度范本
2015/08/05 职场文书
Python 数据可视化之Matplotlib详解
2021/11/02 Python
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏