使用 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

posted @ 2017-12-02 00:52  php_bin  阅读(1102)  评论(0编辑  收藏  举报