PHP多维数组的排序问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP多维数组的排序问题相关的知识,希望对你有一定的参考价值。
数组具有非常强大的功能和灵活性,在php中应用非常广泛。PHP中提供了很多对于一维数组的排序函数,如sort(),ksort()等等,使用它们可以对一维数组很方便的进行排序。但不能用于二维数组排序,但我们可以利用PHP提供的usort(),uasort(),uksort()等函数进行二维排序。
使用usort()对一维数组排序:
function my_sort($a,$b) { if ($a==$b) return 0; return ($a<$b)?-1:1; } $a=array(4,2,8,6);usort($a,"my_sort")
;
usort()函数通过用户自定义的比较函数进行排序,但不保存关键字。
uasort()将会保存关键字。
uksort()排序将基于关键字排序
使用usort()对二维数组排序:
$students = array(
256 => array(‘name‘=>‘lili‘,‘grade‘=>‘35‘),
2 => array(‘name‘=>‘zhangsan‘,‘grade‘=>‘95‘),
3 => array(‘name‘=>‘wangwu‘,‘grade‘=>‘88‘)
);
function name_sort($x, $y){
return strcasecmp($x[‘name‘], $y[‘name‘]);
}
function grade_sort($x, $y){
return $x[‘grade‘] < $y[‘grade‘];
}
uasort($students, ‘name_sort‘);
以上是关于PHP多维数组的排序问题的主要内容,如果未能解决你的问题,请参考以下文章