- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Привет ребят. Прошу помочь. Думаю для Гуру не будет проблемой, а у меня не получается.
В массиве $galereyafile список файлов.
Можно ли легким способом отсортировать массив по значению 5-го символа (с конца) файла?
Спасибо заранее.
ps. Поясню. В массив записываются названия файлов. Они расположены по алфавиту. Но мне по алфавиту - это самый плохой вариант.
Сделал перемешивание массива перед выводом, но тоже плохо, после каждого запуска скрипта - массив по разному перемешивается (само собой).
Надо найти вариант, когда массив не будет отсортирован по алфавиту, но в тоже время, записи в нем не будут каждый раз перемешиваться и меняться ячейками.
umka, спасибо, но не получилось.
Все также отсортирован по алфавиту.
Поставил Ваш код вместо shuffle($galereyafile);
Только не смейтесь, если я чего не так понял.
Скрипт у меня на php
А… я не совсем понял задачу. Мой скриптик сортирует массив по 5-му символу с конца строки :)
В вашем случае оптимальным будет сначала загнать все символы в массив, где они будут ключами к именам файлов, а потом этот массив отсортировать по ключам.
Примерно так
Тут предполагается, что вы самостоятельно сделаете обработку ошибок, и что не будет двух файлов с одинаковым 5-м символом с конца :)
---------- Добавлено 13.02.2012 в 23:16 ----------
А вообще, если задача отсортировать массив каждый раз одинаково хаотично, то проще не мучить файловую систему, а работать таки с именами файлов.
Примерно так:
Вместо md5, конечно же, можно (и даже лучше) использовать какую-либо более простую функцию.
umka, не силен в этом. Но насколько я понимаю - fopen - открыть файл.
Файл открывать не надо :)
Есть массив $galereyafile, в нем
$galereyafile[0] - index.php
$galereyafile[1] - lamitat.php
$galereyafile[3] - edilgres.php
и т.д.
и мне надо отсортировать по символу перед точкой (он же пятый символ).
umka, не силен в этом. Но насколько я понимаю - fopen - открыть файл.
Файл открывать не надо :)
Есть массив $galereyafile, в нем
$galereyafile[0] - index.php
$galereyafile[1] - lamitat.php
$galereyafile[3] - edilgres.php
и т.д.
и мне надо отсортировать по символу перед точкой (он же пятый символ).
Значит я вас всё-таки правильно понял, и тогда код из поста №2 должен работать :)
;10041570']
Не работает.
Само собой это в php файле окружено
<?php ?>
Ребят, подскажите, пожалуйста ещё вариант.
Лично у меня предложенный вариант Umka не хочет работать.
Массив каждый раз перемешивается и само собой записи потом выводятся каждый раз по-разному. А мне надо сделать просто вывод массива не по алфавиту, в любом другом варианте, но без сортировки по алфавиту + задача чтобы каждый раз при запуске скрипта не менялось сильно местоположение записей.
У меня работает и вариант из поста №2 (сортирует по 5-му с конца символу), и особенно хорошо работает второй вариант из поста №4 (вообще отсутствуют какие-либо признаки сортировки).
Если у вас не работает, значит в вашем коде, скорее всего, после "хитрой" сортировки есть ещё какие-то действия с этим массивом. Попробуйте мой код сохранить в отдельный файл и вы убедитесь, что всё работает.
Umka, извините, а мне Ваш код (вариант из поста №2 ) не надо в какой нибудь цикл поставить?
Просто после вашего кода ставлю только вывод массива
foreach ($galereyafile as $value) {
выводим value
}