多维数组排序

当要使用多维数组中的某个值来作排序时,可以使用下面的代码:
(通过学习《深入理解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>';
posted @ 2017-11-16 21:42  我,胖虎  阅读(86)  评论(0)    收藏  举报