PHP多维数组排序(中,uasort)
数字索引阵列:Bool usort(数组,回调cmp_function美元)
该模型指定数组排序函数(参数1)在一个指定的方式(参数2)。
当我们要对多维数组进行排序时,多维数组的每个元素都是数组类型,这两个数组如何比较大小呢这是用户要求的(根据每个数组的第一个元素比较或…)。
复制代码代码如下所示:
< PHP
定义多维数组
$ =数组(
数组(天空
数组(苹果
数组(树
一个自定义数组比较函数,与第二个元素数组相比。
功能my_compare($,$){
如果($ { 1 } < $ 1 { })
返回- 1;
否则如果($ { 1 } = $ 1 { })
返回0;
其他的
返回1;
}
排序
Usort($,'my_compare);
输出结果
foreach($美元元){
回声$元{ 0 }:$元{ 1 };
}
>
结果如下:
复制代码代码如下所示:
蓝色的天空:
树:绿色
苹果:红色
关联数组:
Bool uasort(数组,回调cmp_function美元)
Bool uksort(数组,回调cmp_function美元)
Uasort,uksort像模型一样,在uasort()类的关联数组的值(值),和uksort()排序关键字(key)的关联数组。
复制代码代码如下所示:
< PHP
$ =数组(
星期日=阵列(0,'7th),
星期五=阵列(5,'5th),
星期二= >阵列(2,第二));
功能my_compare($,$){
如果($ { 1 } < $ 1 { })
返回- 1;
否则如果($ { 1 } = $ 1 { })
返回0;
其他的
返回1;
}
根据第二个元素的数组值(第七,第五,第二)顺序
Uasort($,'my_compare);
foreach(美元美元美元作为键=值){
返回$键:$ { 0 } }值{ 1 };
}
根据$数组关键字第二字符(r,u,u)顺序
Uksort($,'my_compare);
foreach(美元美元美元作为键=值){
返回$键:$ { 0 } }值{ 1 };
}
>
结果如下:
星期二:2第二
星期五:5第五
星期日:0第七
星期五:5第五
星期日:0第七
星期二:2第二