PHP array操作10个小技巧分享
2015-01-24信息快讯网
其实任何一门计算机语言中对array(数组)的操作都是一门学问,PHP也不例外。下面笔者想向各位介绍关于PHP中array操作的10个小技巧及相关的函数。
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提示Notice: Undefined variable的解决办法
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
巧用php中的array_filter()函数去掉多维空值的代码分享
PHP中extract()函数的定义和用法
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
php的array_multisort()使用方法介绍
php array的学习笔记
php判断输入不超过mysql的varchar字段的长度范围
php 缩略图实现函数代码
php smarty 二级分类代码和模版循环例子
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
php smarty 二级分类代码和模版循环例子
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE eval()'d code error
php中在PDO中使用事务(Transaction)
php 数组排序 array_multisort与uasort的区别
php expects parameter 1 to be resource, array given 错误
zend framework多模块多布局配置
array_multisort实现PHP多维数组排序示例讲解
php关于array_multisort多维数组排序的使用说明