介绍
这篇文章给大家介绍如何在php中转换二维数组,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
<>强技巧提示:强>
中的(数组),//返回所有键名, , 数组元素($),//返回所有键值,, , (结果=array_reverse美元输入),,//将数组颠倒,不保留键名, (result_keyed=array_reverse美元输入,真的),,//将数组颠倒,保留键名, , 中的数组,美元“blue");,//返回值为蓝色的键名
<强> 1。PHP二维数组去重复项函数强>,
PHP数组去除重复项有个内置函数<强> array_unique() >强劲,但是PHP的array_unique函数只适用于一维数组,对多维数组并不适用,以下提供一个二维数组的array_unique函数
function unique_arr (array2D, stkeep=false,美元$ ndformat=true), {,//才能,判断是否保留一级数组键,(一级数组键可以为非数字), 如果才能(stkeep美元),stArr 美元;=,中的(array2D美元),, ,//才能,判断是否保留二级数组键,(所有二级数组键必须相同), 如果才能(ndformat美元),ndArr 美元;=,中的(结束(array2D美元)),, ,//才能降维,也可以用内爆,将一维数组转换为用逗号连接的字符串, foreach 才能;(array2D 美元;as $ v) {, ,,,v 美元;=,加入(“、“v)美元;,, ,,,临时[],美元=,v;美元, ,,}, ,//去才能掉重复的字符串,也就是重复的一维数组, 时间=美元才能temp array_unique(临时);,, ,//再才能将拆开的数组重新组装, foreach 才能;(temp 美元;as k 美元;=祝辞,美元v), ,{大敌; ,,,如果(stkeep美元),k 美元;=,斯塔尔美元($ k),, ,,,如果(ndformat美元), ,,,{, ,,,,,tempArr 美元;=,爆炸(“、“v)美元;,, ,,,,,foreach (tempArr 美元;as ndkey 美元;=祝辞,ndval美元),输出美元($ k) [ndArr美元[ndkey美元]],=,ndval;美元, ,,,}, ,,,else 输出美元($ k),=,爆炸(“、“v)美元;,, ,,}, , return 才能;输出;美元, }
array2D 美元;=,数组(& # 39;第一个# 39;=祝辞数组(& # 39;标题# 39;=祝辞& # 39;1111 & # 39;,& # 39;日期# 39;=祝辞& # 39;2222 & # 39;),& # 39;第二# 39;=祝辞数组(& # 39;标题# 39;=祝辞& # 39;1111 & # 39;,& # 39;日期# 39;=祝辞& # 39;2222 & # 39;),& # 39;第三,=在数组(& # 39;标题# 39;=祝辞& # 39;2222 & # 39;,& # 39;日期# 39;=祝辞& # 39;3333 & # 39;)),, , , print_r (array2D美元),, print_r (unique_arr (array2D美元,真的));
<强> 2。二维数组的排序方法强>
一维数组排序方法:
<强>公用函数:
强>
function printr (arr)美元, {, echo 才能;& # 39;& lt; pre> & # 39;,,, print_r (arr);才能, echo 才能;& # 39;& lt;/pre> & lt; br> & # 39;;, }
<强>第一组:类和函数>强劲,按照PHP数组键值的顺序asc和逆序desc进行排序,同时破坏原来数组的索引关系,其实是删除索引之后重新建立从0开始的数字索引。
a 美元;=,数组(& # 39;一个# 39;=在1、2),,, 排序(美元);,printr(美元);,, 函数(美元);,printr(美元),, ,/* Array (, [0]才能,=祝辞,1, [1],才能=祝辞,2, ), , Array (, [0]才能,=祝辞,2, [1],才能=祝辞,1, ), */
<强>第二组函数:带点和arsort, 强>这两个函数就比较厉害一点了,只要他们可以保留数组原有的索引关系,把上例的类和函数分别用这两个函数替换一下
a 美元;=,数组(& # 39;一个# 39;=在1、2),, 带点(美元);,printr(美元),,,, arsort(美元);,printr(美元);,,/*, Array (, (一),才能=祝辞,1, [0]才能,=祝辞,2, ), , Array (, [0]才能,=祝辞,2, (一),才能=祝辞,1, ), */
<强>第三组PHP数组排序函数:作用和ksort, 强>这两个不同于以上两组,这两函数是对键名进行排序的。
a 美元;=,数组(& # 39;一个# 39;=在1、2),, ,ksort(美元);,printr(美元),,,, 作用(美元);,printr(美元),, ,/*, Array (, [0]才能,=祝辞,2, (一),才能=祝辞,1, ), , Array (, (一),才能=祝辞,1, [0]才能,=祝辞,2, ), */
通过自定义函数对PHP数组进行排序,有三个函数分别是: