Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » Сортировка массива в PHP (new)
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
kostolom
Участник

Зарегистрирован: Oct 2004
Место проживания: Барнаул
Публикаций: 3
Статус: kostolom в оф-лайне
Question Сортировка массива в PHP (new) [сообщение #71193]

Очень нужна помощь по сортировке массива в PHP.

Ситуация такая:
Дан массив из трёх столбцов и надо сделать так, чтобы можно было сортировать по любому из них.

Пример:

Фамилия Имя Отчество

Иванов Андрей Сидорович
Петров Василий Иванович
Сидоров Иван Борисович
Горбачев Михаил Сергеевич
Ельцин Борис Николаевич
Путин Владимир Владимирович

пример строк в файле базы данных:
________________________________
Иванов|Андрей|Сидорович
Петров|Василий|Иванович
Сидоров|Иван|Борисович
Горбачев|Михаил|Сергеевич
Ельцин|Борис|Николаевич
________________________________

Жмём на ‘Фамилия’ – сортирует по фамилии.
Жмём по ‘Имя’ – сортирует по имени.
Жмём на ‘Отчество’ – сортирует по отчеству

Пожалуйста, напишите рабочий PHP-код на данном примере.
Просто я в других темах читал, но у меня не получилось.
Я начинающий и надеюсь на ответ профессионалов.
Я на нём буду учиться.

Заранее благодарен.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 03-10-2004 09:43
Нажмите сюда для просмотра профайла kostolom Отправить Персональное сообщение kostolom Посетить домашнию страничку kostolom! Найти сообщения от kostolom Добавить kostolom в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #71196]


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']);
}

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 03-10-2004 11:21
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 08:32.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.33622503 seconds (98.49% PHP - 1.51% MySQL) with 21 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.