数组具有非常强大的功能和灵活性,在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‘);
时间: 2024-11-15 20:29:28