Добрый день!
> >> имеется массив вида $stats[$k]= "$total||$k";
> >> $total = каое-либо значение, $k = номер, нужный мне для последующего
> >> обращения к файлу.
> >> Так вот, мне нужно отсортировать этот массив, но, как вы понимаете,
> >> только по $k ($total||$k), и чтобы при этом сохранилась связка
> >> $total||$k. Мучаюсь уже который день, уже и свою функцию сортировки
> >> написал, и ничего дельного все равно не выходит.
>
> ЮИ> Не совсем понятно - $k слева и справа от "=" - это одно и то же число?
Ну
> так
> ЮИ> сделай ksort($stats). И не совсем понятно, зачем дублировать данные - пусть
> будет
> ЮИ> $k в ключе, а там, где надо, ты можешь сформировать строку $total||$k.
>
> $k - это одно и тоже число.
> Пробовал ksort($stats), ничего не получилось.
> Расскажи пожалуйста, для чего ksort используется, для какого вида
> сортировки.
Все дело в том, что в пхп в массивах индекс не всегда отсортирован. То есть,
если сделать $a[2] = 1; $a[1] = 2; $a[0] = 3; , то foreach выдаст сначала 2-й
элемент, потом 1-й, а потом 0-й, то есть, элементы в массиве хранятся по порядку
их определения. Поэтому и есть необходимость отсортировать массив по ключу, с
сохранением соответствия ключ-значение. В принципе, ksort применяется для ассоциативных
массивов, где ключ изначально перемешан как попало, но можно и для числовых ключей
использовать.
> А $k - это ID, он для каждого свой, я по нему обращаюсь к файлам, а
> при обычном rsort($stats), где элементы $stats имеют вид $stats[1]=23,
> ид и значения перемешаются.
Можешь кинуть кусок кода? Я не совсем понимаю смысл всего этого дела.
Кстати, ты можешь вообще сделать двумерный массив и сортировать его с помощью
usort()
$stats[] = array($k, $total);
или
$stats[] = array('key' => $k, 'total' => $total);
За сим прощаюсь. Юрий Истомин.
Номер выпуска : 3353
Возраст листа : 282 (дней)
Количество подписчиков : 432
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/181621
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать : mailto:comp.soft.prog.prog--unsub@subscribe.ru
http://subscribe.ru/ mailto:ask@subscribe.ru