Внимание! В связи с устареванием топика эта страница была взята из кэша.
|
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]);
|
|
стремный код какойто так и не понял зачем там eval делать.. вроде и без него же можно
|
K началу
|
|
|
SmanS
Зарегистрирован: 15.10.02
Сообщения: 190
|
Добавлено: 23/03/04 в 20:22
|
|
alx2 писал: | стремный код какойто так и не понял зачем там eval делать.. вроде и без него же можно |
а чем тебе не нравится eval? когда я наткнулся на этот код, он мне очень понравился.
|
K началу
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |
Внимание! В связи с устареванием топика эта страница была взята из кэша.
|