php有内置函数可以对一维数组进行排序,二维数组需要自己定义,
前序:先复习下php中一维数组排序
1.sort 对数组的值按照升序排列(rsort降序),不保留原始的键
ksort 对数组的键按照升序排列(krsort降序) 保留键值关系
asort 对数组的值按照升序排列(arsort降序),保留键值关系
2.思路,
取出要排序的值组成值数组(为一维数组),
按要求对值进行排序(保持键值关系),
遍历值数组,按照键对应赋值给结果数组
function arraySortByValue($array,$keys,$sort='asc') { $newArr = $valArr = array(); foreach ($array as $key=>$value) { $valArr[$key] = $value[$keys]; } ($sort == 'asc') ? asort($valArr) : arsort($valArr); reset($valArr); foreach($valArr as $key=>$value) { $newArr[$key] = $array[$key]; } return $newArr;}