Реклама на сайте Advertise with us
Тема: Need help: PHP, сортировка многомерного массива Расширенный поиск по форуму
 
Внимание! В связи с устареванием топика эта страница была взята из кэша.
Автор Сообщение
Информация о пользователе SmanS


Зарегистрирован: 15.10.02
Сообщения: 190
Ссылка на сообщениеДобавлено: 22/03/04 в 23:20     

есть массив

Код:

$dannye=array();
...
//в цикле долго и усердно создаются элементы такого типа
$dannye[]=array("key1"=>"value1",...,"keyX"=>"valueX");
...



задача: отсортировать массив по значениям произвольно заданного ключа. легких путей я не ищу поэтому использовать мускуль не предлагайте.

K началу

 
Информация о пользователе webboxxx


Зарегистрирован: 06.03.03
Сообщения: 405
Ссылка на сообщениеДобавлено: 23/03/04 в 08:32     

я те на крутопе ответил

K началу

 
Информация о пользователе SmanS


Зарегистрирован: 15.10.02
Сообщения: 190
Ссылка на сообщениеДобавлено: 23/03/04 в 10:43     

спасибо за попытку,

если кому надо на будущее - решение нашлось вот такое

Код:

function array_csort() { 
   $args = func_get_args();
   $marray = array_shift($args);
   $i=1;
   $msortline = "return(array_multisort(";
   foreach ($args as $arg) {
       $i++;
       if (is_string($arg)) {
           foreach ($marray as $row) {
               $sortarr[$i][] = $row[$arg];
           }
       } else {
           $sortarr[$i] = $arg;
       }
       $msortline .= "\$sortarr[".$i."],";
   }
   $msortline .= "\$marray));";

   eval($msortline);
   return $marray;
}
$dannye = array_csort($dannye,'key1'[,...][,keyX]);

K началу

 
Информация о пользователе undef


Зарегистрирован: 15.09.03
Сообщения: 357
Ссылка на сообщениеДобавлено: 23/03/04 в 13:19     

SmanS писал:
спасибо за попытку,

если кому надо на будущее - решение нашлось вот такое

Код:

function array_csort() { 
   $args = func_get_args();
   $marray = array_shift($args);
   $i=1;
   $msortline = "return(array_multisort(";
   foreach ($args as $arg) {
       $i++;
       if (is_string($arg)) {
           foreach ($marray as $row) {
               $sortarr[$i][] = $row[$arg];
           }
       } else {
           $sortarr[$i] = $arg;
       }
       $msortline .= "\$sortarr[".$i."],";
   }
   $msortline .= "\$marray));";

   eval($msortline);
   return $marray;
}
$dannye = array_csort($dannye,'key1'[,...][,keyX]);


стремный код какойто icon_eek.gif так и не понял зачем там eval делать.. вроде и без него же можно

K началу

 
Информация о пользователе SmanS


Зарегистрирован: 15.10.02
Сообщения: 190
Ссылка на сообщениеДобавлено: 23/03/04 в 20:22     

alx2 писал:
стремный код какойто icon_eek.gif так и не понял зачем там eval делать.. вроде и без него же можно

а чем тебе не нравится eval?
когда я наткнулся на этот код, он мне очень понравился.

K началу

 
Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!
Внимание! В связи с устареванием топика эта страница была взята из кэша.

Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »