码迷,mamicode.com
首页 > 编程语言 > 详细

PHP多维数组的排序问题

时间:2016-09-09 18:29:29      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

数组具有非常强大的功能和灵活性,在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多维数组的排序问题

标签:

原文地址:http://www.cnblogs.com/simplelan/p/5857435.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!