使用 usort() 函数对多维数组进行排序
2023-04-29 加入收藏
在 PHP 中,你可以使用 usort() 函数对多维数组进行排序,例如:
$people = array( array('name' => 'John', 'age' => 25), array('name' => 'Jane', 'age' => 31), array('name' => 'Bob', 'age' => 20) ); function cmp($a, $b) { return $a['age'] - $b['age']; } usort($people, 'cmp'); foreach ($people as $key => $val) { echo "{$val['name']} ({$val['age']})\n"; }
运行结果如下:
Bob (20) John (25) Jane (31)
在上面的例子中,我们定义了一个 cmp
回调函数,来指定使用哪个键值对进行排序。需要注意的是,在使用回调函数进行排序时,返回值必须是一个整数。如果需要按照降序排序,只需将 $a 和 $b 的位置交换即可。
如果您需要对多维数组进行更复杂的排序,可以使用 uasort() 函数,该函数使用回调函数来比较数组元素,如果两个元素相等,则保留原始顺序。