使用 PHP usort() 通过用户自定义的比较函数对数组进行排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 PHP usort() 通过用户自定义的比较函数对数组进行排序相关的知识,希望对你有一定的参考价值。

usort() 

<?php
$array[0] = array(‘key_a‘ => ‘z‘, ‘key_b‘ => ‘c‘);
$array[1] = array(‘key_a‘ => ‘x‘, ‘key_b‘ => ‘b‘);
$array[2] = array(‘key_a‘ => ‘y‘, ‘key_b‘ => ‘a‘);

function build_sorter($key) {
return function ($a, $b) use ($key) {
return strnatcmp($a[$key], $b[$key]);
};
}

usort($array, build_sorter(‘key_b‘));

foreach ($array as $item) {
echo $item[‘key_a‘] . ‘, ‘ . $item[‘key_b‘] . "\n";
}
?>
以上例程会输出:

y, a
x, b
z, c














以上是关于使用 PHP usort() 通过用户自定义的比较函数对数组进行排序的主要内容,如果未能解决你的问题,请参考以下文章

usort — 使用用户自定义的比较函数对数组中的值进行排序

使用usort和自定义比较函数的多维数组/对象排序

关于回调函数 usort() uksrot() sort() 介绍简介实验是从小到大排序

使用 AutoIt 的用户定义排序比较

二维数组重新排序

php值callback类型和匿名函数(闭包)