Как в PHP отсортировать многомерный массив как таблицу?

Дата: 25 декабря /

Приведенные функции позволяют отсортировать многомерный массив по колонкам, порядок сортировки можно задать по убыванию или по возрастанию.

Пример:

<?
$my_array=array(
array('id'=>1, 'surname'=>'rossi', 'name'=>'mario', 'group'=>'admin'),
array('id'=>2, 'surname'=>'rossi', 'name'=>'giovanni', 'group'=>'user'),
array('id'=>3, 'surname'=>'verdi', 'name'=>'luigi', 'group'=>'user'),
array('id'=>4, 'surname'=>'verdi', 'name'=>'franco', 'group'=>'guest'),
array('id'=>5, 'surname'=>'bianchi', 'name'=>'mario', 'group'=>'guest')
);

array_sort($my_array,'!group','surname');
?>


Код функций

<?
function array_sort_func($a,$b=NULL) {
static $keys;
if($b===NULL) return $keys=$a;
foreach($keys as $k) {
if(@$k[0]=='!') {
$k=substr($k,1);
if(@$a[$k]!==@$b[$k]) {
return strcmp(@$b[$k],@$a[$k]);
}
}
else if(@$a[$k]!==@$b[$k]) {
return strcmp(@$a[$k],@$b[$k]);
}
}
return 0;
}

function array_sort(&amp;$array) {
if(!$array) return $keys;
$keys=func_get_args();
array_shift($keys);
array_sort_func($keys);
usort($array,“array_sort_func”);
}
?>

Статьи по теме:

No related posts.

Метки: ,

Рубрика: PHP

Оставить комментарий