最全的php数组操作方法汇总,让你轻松掌握!-php教程

资源魔 29 0
1、数组操作的根本函数

数组的键名以及值

array_values($arr);取得数组的值
array_keys($arr);取得数组的键名
array_flip($arr);数组中的值与键名调换(假如有反复后面的会被前面的笼罩)
in_array("apple",$arr);正在数组中检索apple
array_search("apple",$arr);正在数组中检索apple ,假如存正在前往键名
array_key_exists("apple",$arr);检索给定的键名能否存正在数组中
isset($arr[apple]):检索给定的键名能否存正在数组中

数组的外部指针

current($arr);前往数组中确当前单位
pos($arr);前往数组中确当前单位
key($arr);前往数组中以后单位的键名
prev($arr);将数组中的外部指针倒回一名
next($arr);将数组中的外部指针向前挪动一名
end($arr);将数组中的外部指针指向最初一个单位
reset($arr;将数组中的外部指针指向第一个单位
each($arr);将前往数组以后元素的一个键名/值的结构数组,并使数组指针向前挪动一名
list($key,$value)=each($arr);取得数组以后元素的键名以及值

数组以及变量之间的转换

extract($arr);用于把数组中的元素转换成变量导入到以后文件中,键名当做变量名,值作为变量值

注:(第二个参数很首要,能够看手册应用)应用办法 echo $a;

compact(var1,var2,var3);用给定的变量名创立一个数组

2、数组的分段以及填充

数组的分段

array_slice($arr,0,3);能够将数组中的一段掏出,此函数疏忽键名
array_splice($arr,0,3,array("black","maroon"));能够将数组中的一段掏出,与上个函数没有同正在于前往的序列从原数组中删除了

宰割多个数组

array_chunk($arr,3,TRUE);能够将一个数组宰割成多个,TRUE为保存原数组的键名

数组的填充

array_pad($arr,5,'x');将一个数组填补到制订长度

3、数组与栈

array_push($arr,"apple","pear");将一个或多个元素压入数组栈的末尾(入栈),前往入栈元素的个数
array_pop($arr);将数组栈的最初一个元素弹出(出栈)

4、数组与排队

array_shift($arr);数组中的第一个元素移出并作为后果前往(数组长度减1,其余元素向前挪动一名,数字键名改成从零技巧,文字键名没有变)
array_unshift($arr,"a",array(1,2));正在数组的扫尾拔出一个或多个元素

5、回调函数

array_walk($arr,'function','words');应用用户函数对数组中的每一个成员进行解决(第三个参数通报给回调函数function)
array_mpa("function",$arr1,$arr2);能够解决多个数组(当应用两个或更少数组时,他们的长度应该相反)
array_filter($arr,"function");应用回调函数过滤数组中的每一个元素,假如回调函数为TRUE,数组确当前元素会被蕴含正在前往的后果数组中,数组的键名保存没有变
array_reduce($arr,"function","*");转化为单值函数(*为数组的第一个值)

6、数组的排序

经过元素值对数组排序

sort($arr);由小到年夜的程序排序(第二个参数为按甚么形式排序)疏忽键名的数组排序
rsort($arr);由年夜到小的程序排序(第二个参数为按甚么形式排序)疏忽键名的数组排序
usort($arr,"function");应用用户自界说的比拟函数对数组中的值进行排序(function中有两个参数,0示意相等,负数示意第一个年夜于第二个,正数示意第一个小于第二个)疏忽键名的数组排序
asort($arr);由小到年夜的程序排序(第二个参数为按甚么形式排序)保存键名的数组排序
arsort($arr);由年夜到小的程序排序(第二个参数为按甚么形式排序)保存键名的数组排序
uasort($arr,"function");应用用户自界说的比拟函数对数组中的值进行排序(function中有两个参数,0示意相等,负数示意第一个年夜于第二个,正数示意第一个小于第二个)保存键名的数组排序

经过键名对数组排序

ksort($arr);依照键名正序排序
krsort($arr);依照键名逆序排序
uksort($arr,"function");应用用户自界说的比拟函数对数组中的键名进行排序(function中有两个参数,0示意相等,负数示意第一个年夜于第二个,正数示意第一个小于第二个)

天然排序法排序

natsort($arr);天然排序(疏忽键名)
natcasesort($arr);天然排序(疏忽巨细写,疏忽键名)

7、数组的较量争论

数组元素的乞降

array_sum($arr);对数组外部的一切元素做乞降运算

数组的兼并

array_merge($arr1,$arr2);兼并两个或多个数组(相反的字符串键名,前面的笼罩后面的,相反的数字键名,前面的没有会做笼罩操作,而是附加到前面)
“+”$arr1+$arr2;关于相反的键名只保存后一个
array_merge_recursive($arr1,$arr2); 递归兼并操作,假如数组中有相反的字符串键名,这些值将被兼并到一个数组中去。假如一个值自身是一个数组,将依照相应的键名把它兼并为另外一个数组。当数组 具备相反的数组键名时,后一个值将没有会笼罩原来的值,而是附加到前面

数组的差集

array_diff($arr1,$arr2);前往差调集果数组
array_diff_assoc($arr1,$arr2,$arr3);前往差调集果数组,键名也做比拟

数组的交加

array_intersect($arr1,$arr2);前往交加后果数组
array_intersect_assoc($arr1,$arr2);前往交加后果数组,键名也做比拟

8、其余的数组函数

range(0,12);创立一个蕴含指定范畴单位的数组
array_unique($arr);移除了数组中反复的值,新的数组中会保存原始的键名
array_reverse($arr,TRUE);前往一个单位程序与原数组相同的数组,假如第二个参数为TRUE保存原来的键名
//srand((float)microtime()*10000000); 随机种子触发器
array_rand($arr,2);从数组中随机掏出一个或 多个元素
shuffle($arr);将数组的程序打乱

本类函数容许用多种办法来操作数组以及与之交互。数组的实质是贮存,治理以及操作一组变量。

PHP 支持一维以及多维数组,能够是用户创立或由另外一个函数创立。有一些特定的数据库解决函数能够从数据库查问中天生数组,另有一些函数前往数组。

array_change_key_case — 前往字符串键名全为小写或年夜写的数组
array_chunk — 将一个数组宰割成多个
array_combine — 创立一个数组,用一个数组的值作为其键名,另外一个数组的值作为其值
array_count_values — 统计数组中一切的值呈现的次数
array_diff_assoc — 带索引反省较量争论数组的差集
array_diff_key — 应用键名比拟较量争论数组的差集
array_diff_uassoc — 用用户提供的回调函数做索引反省来较量争论数组的差集
array_diff_ukey — 用回调函数对键名比拟较量争论数组的差集
array_diff — 较量争论数组的差集
array_fill_keys — Fill an array with values, specifying keys
array_fill — 用给定的值填凑数组
array_filter — 用回调函数过滤数组中的单位
array_flip — 替换数组中的键以及值
array_intersect_assoc — 带索引反省较量争论数组的交加
array_intersect_key — 应用键名比拟较量争论数组的交加
array_intersect_uassoc — 带索引反省较量争论数组的交加,用回调函数比拟索引
array_intersect_ukey — 用回调函数比拟键名来较量争论数组的交加
array_intersect — 较量争论数组的交加
array_key_exists — 反省给定的键名或索引能否存正在于数组中
array_keys — 前往数组中一切的键名
array_map — 将回调函数作用到给定命组的单位上
array_merge_recursive — 递归地兼并一个或多个数组
array_merge — 兼并一个或多个数组
array_multisort — 对多个数组或多维数组进行排序
array_pad — 用值将数组填补到指定长度
array_pop — 将数组最初一个单位弹出(出栈)
array_product — 较量争论数组中一切值的乘积
array_push — 将一个或多个单位压入数组的末尾(入栈)
array_rand — 从数组中随机掏出一个或多个单位
array_reduce — 用回调函数迭代地将数组简化为繁多的值
array_reverse — 前往一个单位程序相同的数组
array_search — 正在数组中搜寻给定的值,假如胜利则前往相应的键名
array_shift — 将数组扫尾的单位移出数组
array_slice — 从数组中掏出一段
array_splice — 把数组中的一局部去掉并用其它值庖代
array_sum — 较量争论数组中一切值的以及
array_udiff_assoc — 带索引反省较量争论数组的差集,用回调函数比拟数据
array_udiff_uassoc — 带索引反省较量争论数组的差集,用回调函数比拟数据以及索引
array_udiff — 用回调函数比拟数据来较量争论数组的差集
array_uintersect_assoc — 带索引反省较量争论数组的交加,用回调函数比拟数据
array_uintersect_uassoc — 带索引反省较量争论数组的交加,用回调函数比拟数据以及索引
array_uintersect — 较量争论数组的交加,用回调函数比拟数据
array_unique — 移除了数组中反复的值
array_unshift — 正在数组扫尾拔出一个或多个单位
array_values — 前往数组中一切的值
array_walk_recursive — 对数组中的每一个成员递归地使用用户函数
array_walk — 对数组中的每一个成员使用用户函数
array — 新建一个数组
arsort — 对数组进行逆向排序并放弃索引关系
asort — 对数组进行排序并放弃索引关系
compact — 建设一个数组,包罗变量名以及它们的值
count — 较量争论数组中的单位数量或工具中的属性个数
current — 前往数组中确当前单位
each — 前往数组中以后的键/值对并将数组指针向前挪动一步
end — 将数组的外部指针指向最初一个单位
extract — 从数组中将变量导入到以后的符号表
in_array — 反省数组中能否存正在某个值
key — 从联系关系数组中获得键名
krsort — 对数组依照键名逆向排序
ksort — 对数组依照键名排序
list — 把数组中的值赋给一些变量
natcasesort — 用“天然排序”算法对数组进行没有区别巨细写字母的排序
natsort — 用“天然排序”算法对数组排序
next — 将数组中的外部指针向前挪动一名
pos — current() 的别号
prev — 将数组的外部指针倒回一名
range — 建设一个蕴含指定范畴单位的数组
reset — 将数组的外部指针指向第一个单位
rsort — 对数组逆向排序
shuffle — 将数组打乱
sizeof — count() 的别号
sort — 对数组排序
uasort — 应用用户自界说的比拟函数对数组中的值进行排序并放弃索引联系关系
uksort — 应用用户自界说的比拟函数对数组中的键名进行排序
usort — 应用用户自界说的比拟函数对数组中的值进行排序

以上就是最全的php数组操作办法汇总,让你轻松把握!的具体内容,更多请存眷资源魔其它相干文章!

标签: php开发教程 php开发资料 php开发自学 php数组

抱歉,评论功能暂时关闭!