php多维数组排序可以用array_multisort() 函数来处理,array_multisort() 函数可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序,关联(string)键名保持不变,但数字键名会被重新索引
排序顺序标志:
SORT_ASC - 按照上升顺序排序
SORT_DESC - 按照下降顺序排序
排序类型标志:
SORT_REGULAR - 将项目按照通常方法比较
SORT_NUMERIC - 将项目按照数值比较
SORT_STRING - 将项目按照字符串比较
例子 1. 对多个数组排序
| 代码如下 | 复制代码 |
|
$ar1 = array("10", 100, 100, "a"); var_dump($ar1); |
|
本例中经过排序后,第一个数组将包含 "10","a",100,100。第二个数组将包含 1,1,"2",3。第二个数组中的项目顺序完全和第一个数组中相应的项目(100 和 100)顺序一致。
但是这些都不可以指定由那个键值进行排名了,下面我就整理了几个函数算法都不错。
示例代码
| 代码如下 | 复制代码 |
|
/** |
|
例子二
| 代码如下 | 复制代码 |
|
function array_sort($arr, $keys, $type = 'asc') { $keysvalue = $new_array = array(); foreach ($arr as $k => $v) { $keysvalue[$k] = $v[$keys]; if ($type == 'asc') { asort($keysvalue); arsort($keysvalue); reset($keysvalue); foreach ($keysvalue as $k => $v) { $new_array[] = $arr[$k]; return $new_array; |
|
例子3
| 代码如下 | 复制代码 |
|
/* |
|
例如有下列这样一个数组:
| 代码如下 | 复制代码 |
|
$array=array( 现在需要将这个二维数组按id升序排列,则: array_sort($array,'id','asc'); |
|
疯狂医院达什医生中文版(Crazy Hospital)
疯狂医院达什医生最新版是一款医院模拟经营类游戏,逼真的场景画
宝宝庄园官方版
宝宝庄园官方版是一款超级经典好玩的模拟经营类型的手游,这个游
桃源记官方正版
桃源记是一款休闲娱乐类的水墨手绘风格打造的模拟经营手游。玩家
长途巴士模拟器手机版
长途巴士模拟器汉化版是一款十分比真好玩的大巴车模拟驾驶运营类
房东模拟器最新版2024
房东模拟器中文版是一个超级有趣的模拟经营类型的手游,这个游戏