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多维数组的排序问题的主要内容,如果未能解决你的问题,请参考以下文章

php多维数组排序

php多维数组自定义排序 uasort()

php多维数组自定义排序 uasort()

如何在 PHP 中对多维数组进行排序 [重复]

PHP按多维数组中的值排序[重复]

PHP按包含日期的元素对多维数组进行排序