Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Сортировка многомерного массива
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (1): [1]   

> Описание: Как это делать?
SviMik Супермодератор
Отправлено: 27 Ноября, 2005 - 16:37:57
Post Id



Где-то там...


Покинул форум
Сообщений всего: 3538
Дата рег-ции: Окт. 2004  
Откуда: Tallinn, Estonia

Карма 4




Имеется массив такого вида:
CODE:
$allfiles=array();
$allfiles[0]=array(1024,a.txt);
$allfiles[1]=array(512,b.txt);
$allfiles[2]=array(2048,c.txt);
........
$allfiles[xxx]=array(64,blablabla.txt);

Нужно отсортировать массив $allfiles по первому параметру вложенного массива. Т.е. получить
CODE:

$allfiles[0]=array(64,blablabla.txt);
$allfiles[1]=array(512,b.txt);
$allfiles[2]=array(1024,a.txt);
$allfiles[3]=array(2048,c.txt);
.......
$allfiles[xxx]=array(8192000,123.mp3);

Посоветовали array_multisort, пялюсь на хелп в php.net на описание этой функции, и не знаю, что с ней делать Огорчение
В первый раз с таким массивом столкнулся, а по-другому вроде никак.
 
 Top
ETC Администратор
Отправлено: 27 Ноября, 2005 - 17:59:44
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




SviMik
http://php.net/usort
 
 Top
SviMik Супермодератор
Отправлено: 28 Ноября, 2005 - 11:43:59
Post Id



Где-то там...


Покинул форум
Сообщений всего: 3538
Дата рег-ции: Окт. 2004  
Откуда: Tallinn, Estonia

Карма 4




Ну не получается и всё тут Недовольство, огорчение
 
 Top
ETC Администратор
Отправлено: 29 Ноября, 2005 - 05:03:04
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




SviMik
Блн, там нужно задать пользовательскую функцию сортировки, которая будет сравнивать два элемента массива и проверяя по какому-либо значению возвращать -1, 0 или 1 для сортировки. Я тебе специально не пишу, как нужно делать, попробуй разобраться самостоятельно — будешь лучше знать. Если же не получится — напишу.
 
 Top
SviMik Супермодератор
Отправлено: 29 Ноября, 2005 - 13:49:57
Post Id



Где-то там...


Покинул форум
Сообщений всего: 3538
Дата рег-ции: Окт. 2004  
Откуда: Tallinn, Estonia

Карма 4




Вот прикол, в отдельном скрипте пашет, а если в свой вставляю - нет.
Дальше - более загочней. Методом исключения доисключался до
CODE:
qwerty();
function qwerty() {
echo('1111111111111111');
}

Если его вставить до функции
CODE:

$num=0;
while($allfiles[$num]){
<<<<blablabla>>>
$num++;
}

или в любое место внутри неё, то скрипт просто останавливается, когда до этой функции доходит. Мистика какая-то. После этого цикла вставляю - всё пашет, и дальнейшие функции тоже выполняются.
 
 Top
SviMik Супермодератор
Отправлено: 29 Ноября, 2005 - 13:56:18
Post Id



Где-то там...


Покинул форум
Сообщений всего: 3538
Дата рег-ции: Окт. 2004  
Откуда: Tallinn, Estonia

Карма 4




Урааааа! Допёрло! У меня же всё это в условии стоит. Т.е.
CODE:

if(чего-нидь){

qwerty();
function qwerty() {
echo('1111111111111111');
}

}

Такая конструкция почёму-то не пашет. В этом-то и была вся загвоздка с самого начала.
Ура!Пляшу от радости
 
 Top
SviMik Супермодератор
Отправлено: 29 Ноября, 2005 - 14:06:19
Post Id



Где-то там...


Покинул форум
Сообщений всего: 3538
Дата рег-ции: Окт. 2004  
Откуда: Tallinn, Estonia

Карма 4




Хм, на первый взгляд сортирует. Стал внимательно разглядывать - что-то не то. Не по-человечески как-то.
Цитата:

1.htm
1.php
2.php
Bild2901.jpg
Clipboard01.png
Fozzy
Image0929-1257(TV20)[1].jpg
SBSP_29.09.2005_15.15.mp3
Thumbs.db
ad
apache2triad.ico
apache_2.0.54-win32-x86-no_ssl.rar
c.bak
cgi-bin
close.gif
close2.gif
<...>
 
 Top
ETC Администратор
Отправлено: 29 Ноября, 2005 - 15:42:01
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




Значит пользовательская функция написана неверно.
 
 Top
Леголегс Администратор
Отправлено: 29 Ноября, 2005 - 15:54:54
Post Id



JS-маньяк


Покинул форум
Сообщений всего: 2109
Дата рег-ции: Июль 2004  
Откуда: Липецк

Карма 17




SviMik
У тебя функция сравнения строк чувствительна к регистру. S > s, а тебе видимо надо такую функцию, чтоб для неё S == s
 
 Top
SviMik Супермодератор
Отправлено: 29 Ноября, 2005 - 16:02:15
Post Id



Где-то там...


Покинул форум
Сообщений всего: 3538
Дата рег-ции: Окт. 2004  
Откуда: Tallinn, Estonia

Карма 4




Всё, разобрался. Всё прекрасно пашет.
ETC Спасибо!
ЗЫ. А в мирке до тебя часто не достучатся, вот и тута спросил. Подмигивание
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0428]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33