| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Помогите разобраться с массивом |
| Автор: strug 27.8.2009, 18:05 | ||
привет всем...помогите разобраться с массивом, получаемого функцией scandir()
выдает следуещее Array ( [0] => L-002.jpg [1] => L-063a.jpg [2] => Z-001.jpg [3] => Z-0010.jpg [4] => Z-0010v.jpg [5] => Z-003.jpg ) а нужно, чтобы было Array ( [0] => L-002.jpg [1] => L-063a.jpg [2] => Z-001.jpg [3] => Z-003.jpg [4] => Z-0010.jpg [5] => Z-0010v.jpg ) т.е. не правильно сортируются значения в массиве...перепробывал все : sort(), usort(), natcasesort() и т.д. может вы подскажите в чем проблема? спасибо... |
| Автор: IZ@TOP 27.8.2009, 18:41 | ||
| Посмотрите в сторону http://ru2.php.net/manual/en/function.usort.php Для примера:
Что бы сортировка была еще и по алфавиту, первой букве в имени - доработайте функцию. |
| Автор: Ипатьев 27.8.2009, 19:09 |
в том, что не сформулирована задача. а точнее - алгоритм. плюс, поленились познакомиться с описанием функций в документации. в которой написано, например, что natsort специально придумана для того, чтобы сортировать "неправильно". непонятно, кстати, чем не устроила натуральная сортировка. |
| Автор: Den1s 27.8.2009, 19:17 |
| все правильно отсортировано....отсортируйте в любых приложениях и Z-003.jpg будет везде после Z-0010v.jpg , т.к. Z-003.jpg в вашем случае эквивалентно Z-0030.jpg. Вывод: пишите свой алгоритм сортировки, либо же меняйте название файлов чтобы имя у всех было одинаковой длины например так [0] => L-002.jpg [1] => L-063a.jpg [2] => Z-00001.jpg [3] => Z-00003.jpg [4] => Z-00010.jpg [5] => Z-0010v.jpg |