![]() |
Показаны 2 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Сортировка массива в PHP (new) (http://netadmin.ws/forum/showthread.php?threadid=9623)
Сортировка массива в PHP (new)
Очень нужна помощь по сортировке массива в PHP.
Ситуация такая:
Дан массив из трёх столбцов и надо сделать так, чтобы можно было сортировать по любому из них.
Пример:
Фамилия Имя Отчество
Иванов Андрей Сидорович
Петров Василий Иванович
Сидоров Иван Борисович
Горбачев Михаил Сергеевич
Ельцин Борис Николаевич
Путин Владимир Владимирович
пример строк в файле базы данных:
________________________________
Иванов|Андрей|Сидорович
Петров|Василий|Иванович
Сидоров|Иван|Борисович
Горбачев|Михаил|Сергеевич
Ельцин|Борис|Николаевич
________________________________
Жмём на ‘Фамилия’ – сортирует по фамилии.
Жмём по ‘Имя’ – сортирует по имени.
Жмём на ‘Отчество’ – сортирует по отчеству
Пожалуйста, напишите рабочий PHP-код на данном примере.
Просто я в других темах читал, но у меня не получилось.
Я начинающий и надеюсь на ответ профессионалов.
Я на нём буду учиться.
Заранее благодарен.
$array = array(
array(
'surname' => 'Петров',
'name' => 'Гоша',
'name1' => 'Петрович'
),
array(
'surname' => 'Сидоров',
'name' => 'Сергей',
'name1' => 'Иванович'
)
);
swith ($sortorder)
{
case 'surname':
case 'name':
case 'name1':
usort($block_data, 'sort_by_' . $sortorder);
break;
default:
usort($block_data, 'sort_by_name');
}
function sort_by_surname ($a, $b)
{
return strcmp($a['surname'], $b['surname']);
}
function sort_by_name ($a, $b)
{
return strcmp($a['name'], $b['name']);
}
function sort_by_name1 ($a, $b)
{
return strcmp($a['name1'], $b['name1']);
}
__________________
Всегда есть решение.
| Формат времени GMT. Текущее время 08:33. | Показаны 2 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.