当要使用多维数组中的某个值来作排序时,可以使用下面的代码:
(通过学习《深入理解PHP 高级技巧、面向对象与核心技术》的方法所得)
<?php
header("Content-type: text/html; charset=utf-8");
$student = array(
256 => array('name' => 'C','grade' => 100),
2 => array('name' => 'A','grade' => 80),
9 => array('name' => 'D','grade' => 90),
364 => array('name' => 'E','grade' => 80),
68 => array('name' => 'B','grade' => 70),
);
function name_sort($x,$y){
return strcasecmp($x['name'], $y['name']);
}
function grade_sort($x,$y){
return ($x['grade'] < $y['grade']);
}
echo '<h2>原本数组为</h2><pre>'.print_r($student,1) .'</pre>';
uasort($student, 'name_sort');
echo '<h2>通过名字排序所得数组</h2><pre>'.print_r($student,1) .'</pre>';
uasort($student, 'grade_sort');
echo '<h2>通过成绩排序所得数组</h2><pre>'.print_r($student,1) .'</pre>';