Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите разобраться с массивом 
V
    Опции темы
strug
Дата 27.8.2009, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 27.8.2009

Репутация: нет
Всего: нет



привет всем...помогите разобраться с массивом, получаемого функцией scandir()

Код

<?php
$list = scandir("modules/images/all/97/");
$file_list = array();
        foreach ($list as $txt){
     $fn=strrchr($txt,'.');                            
     $fn=strtolower($fn); 
        if ($fn!=='.jpg') continue; 
        $file_list[] = $txt;
        } 
natsort($file_list);
print_r($file_list);
?>


выдает следуещее 
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() и т.д. 

может вы подскажите в чем проблема?
спасибо...

PM MAIL   Вверх
IZ@TOP
Дата 27.8.2009, 18:41 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Посмотрите в сторону http://ru2.php.net/manual/en/function.usort.php

Для примера:
Код


function numsort($a, $b) {
    if((int) substr($a,strpos($a,'-')+1) == (int) substr($b,strpos($b,'-')+1)) {
        return 0;
    }

    return (int) substr($a,strpos($a,'-')+1) > (int) substr($b,strpos($b,'-')+1) ? 1 : -1;
}

usort($dirs, 'numsort');
print_r($dirs);

Что бы сортировка была еще и по алфавиту, первой букве в имени - доработайте функцию.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Ипатьев
Дата 27.8.2009, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Цитата(strug @  27.8.2009,  18:05 Найти цитируемый пост)
может вы подскажите в чем проблема?

в том, что не сформулирована задача. а точнее - алгоритм.
плюс, поленились познакомиться с описанием функций в документации.
в которой написано, например, что natsort специально придумана для того, чтобы сортировать "неправильно".

непонятно, кстати, чем не устроила натуральная сортировка.
PM MAIL   Вверх
Den1s
Дата 27.8.2009, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 27.10.2005

Репутация: нет
Всего: нет



все правильно отсортировано....отсортируйте в любых приложениях и 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 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0847 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.