Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 03.07.2005, 18:37
quazare вне форума Посмотреть профиль Отправить личное сообщение для quazare Найти все сообщения от quazare
  № 1  
quazare
 
Аватар для quazare

Регистрация: Jul 2004
Сообщений: 430
По умолчанию сортировка 2-х мерного массива

помогите с грамотным готовым решением!
необходимо сделать сортировку 2-х мерного массива по определенному столбику например по 3-ему.
т.е. нужен готовый алгоритм для функции usort!

вот такой - почемото не проканал


function sorting($a, $b)
{
if ($a[2] == $b[2]) {
return 0;
}
return ($a[2] < $b[2]) ? -1 : 1;
}

Старый 03.07.2005, 19:55
TERRORist вне форума Посмотреть профиль Отправить личное сообщение для TERRORist Найти все сообщения от TERRORist
  № 2  
TERRORist
 
Аватар для TERRORist

блогер
Регистрация: Jun 2005
Адрес: RU
Сообщений: 1,540
Записей в блоге: 12
и где же тут готовое решение?

Старый 03.07.2005, 20:27
quazare вне форума Посмотреть профиль Отправить личное сообщение для quazare Найти все сообщения от quazare
  № 3  
quazare
 
Аватар для quazare

Регистрация: Jul 2004
Сообщений: 430
Цитата:
Сообщение от TERRORist
и где же тут готовое решение?
А ты напряги мозги - когда совместно прийдем к общему решению - будет и результат в виде кода, возможно потом все ненужные сообщения постирать ....

Да при твоем подходе - этот подраздел совсем загнется...

P.S. Однако, ты советы и вопросы задаешь....

Старый 03.07.2005, 21:06
TERRORist вне форума Посмотреть профиль Отправить личное сообщение для TERRORist Найти все сообщения от TERRORist
  № 4  
TERRORist
 
Аватар для TERRORist

блогер
Регистрация: Jun 2005
Адрес: RU
Сообщений: 1,540
Записей в блоге: 12
модератор тебе судья
попробуй использовать дополнительные массивы.

Старый 03.07.2005, 21:07
TERRORist вне форума Посмотреть профиль Отправить личное сообщение для TERRORist Найти все сообщения от TERRORist
  № 5  
TERRORist
 
Аватар для TERRORist

блогер
Регистрация: Jun 2005
Адрес: RU
Сообщений: 1,540
Записей в блоге: 12
имхо такой исходник только тебе понадобится

Старый 03.07.2005, 21:31
quazare вне форума Посмотреть профиль Отправить личное сообщение для quazare Найти все сообщения от quazare
  № 6  
quazare
 
Аватар для quazare

Регистрация: Jul 2004
Сообщений: 430
поконкретнее....

Старый 03.07.2005, 22:12
TERRORist вне форума Посмотреть профиль Отправить личное сообщение для TERRORist Найти все сообщения от TERRORist
  № 7  
TERRORist
 
Аватар для TERRORist

блогер
Регистрация: Jun 2005
Адрес: RU
Сообщений: 1,540
Записей в блоге: 12
Цитата:
Сообщение от quazare
поконкретнее....
Я далек от мысли...

Старый 04.07.2005, 00:32
-MS- вне форума Посмотреть профиль Отправить личное сообщение для -MS- Найти все сообщения от -MS-
  № 8  
-MS-
 
Аватар для -MS-

Регистрация: Jun 2005
Сообщений: 367
ну так на вскидку, без проверки работоспособности...
PHP код:
function sort($mas,$ii,$jj,$k//mas - входной массив, ixj - размерность, k - столбец по которому сортируем
{
stat=0;
for(
$i=0;$i<=$ii;$i++){
$tmp_m[$i]=$mas[$i][$k]; //заполняем промежуточный массив значениями столбца по которому будем сортировать
$tmp_i[$i]=$i//промежуточный массив с индексами по строкам
}
//сортируем промежуточный массив по возрастанию, соответственно изменится массив индексов
for($i=0;$i<=$ii;$i++){
$min=$tmp_m[$i];
for(
$j=$i;$j<=$ii;$j++){
if(
$min<$tmp_m[$j]){
$tmp_m[$i]=$tmp_m[$j];   //тут у нас сортируется сам массив, обмен 
$min=$tmp_m[$j];            //значениями элементов массива
$tmp_m[$j]=$tmp;           //
$tmp_i[$i]=$j;       //а тут идексы выстраиваются
$tmp_i[$j]=$i;       //
}
}
}
//получили отсортированный массив с индексами по возрастанию
//теперь организуем выходной массив
for($i=0;$i<=$ii;$i++){
$tmp=tmp_i[$i];
for(
$j=0;$j<=$jj;$j++){
$out[$i][$j]=$mas[$tmp][$j];
}
}
return 
$out;

ну что то типа этого... за работоспособность не отвечаю не проверял
просто предложил возможную реализацию

Старый 11.07.2005, 03:47
KBA-KBA вне форума Посмотреть профиль Отправить личное сообщение для KBA-KBA Найти все сообщения от KBA-KBA
  № 9  
KBA-KBA
 
Аватар для KBA-KBA

Регистрация: May 2000
Адрес: сдох давно
Сообщений: 177
Отправить сообщение для KBA-KBA с помощью ICQ
Post array-multisort

array-multisort вас спасет... (RM)
---
ну может еще это понадибится
PHP код:
/* function RotateArray()
Функция транспонирует (поварачивает на 90 градусов) двумерный массив
KBA-KBA / ColD. [cold@elze.ru]
*/
function RotateArray($table)
{
    foreach (
$table as $key1 => $row)
        foreach (
$row as $key2 => $value)
        {
            
$return[$key2][$key1] = $value;
        }
    return 
$return;

__________________
Белая полоса,
Черная полоса,
Ж@#А!!!

Старый 12.07.2005, 14:00
quazare вне форума Посмотреть профиль Отправить личное сообщение для quazare Найти все сообщения от quazare
  № 10  
quazare
 
Аватар для quazare

Регистрация: Jul 2004
Сообщений: 430
все спасибо! все работает!

Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 17:22.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:22.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.