Сортировка многомерного массива в PHP

Бывают случаи, когда требуется сортировка многомерных массив. Для решения такой задачи отлично подходит позаимствованный из просторов интернета php-скриптик. Автора к сожалению не помню, но ему большое спасибо.

<?php
//функция для сортировки
function order($array, $by) {
$result = array();
foreach ($array as $val) {
if (!is_array($val) || !key_exists($by, $val)) {
continue;
}
end($result);
$current = current($result);
while ($current[$by] > $val[$by]) {
$result[key($result)+1] = $current;
prev($result);
$current = current($result);
}
$result[key($result)+1] = $val;
}
return $result;
}
// многомерный массив
$bank = array(
array(’name’=>’bank1′, ‘money’=>25),
array(’name’=>’bank2′, ‘money’=>234),
array(’name’=>’bank3′, ‘money’=>3),
array(’name’=>’bank4′, ‘money’=>2340),
);
//сортируем массив с банками по столбцу money
print_r(order($bank, ‘money‘));
?>

Скриптик отлично справляется с многомерной сортировкой, если есть замечания или советы по улучшению скрипта, то пишите в комментариях.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *