Массив с 1

1. KOZZ (28.01.2010 / 13:41)
Скрипт считывает файлы из папки в массив,затем выводит.
По умолчанию,массив начинает отсчет с 0.надо чтоб с 1.
Как сделать это смещение?

2. Удаленный (28.01.2010 / 13:49)
индекс масива поменяй где [0] там 1,и сделай по порядку масив потом,если хочешь чтоб работа шла с индекса 1

3. Станислав (28.01.2010 / 14:01)
Как вариант, в цикле прибавь +1

4. KOZZ (28.01.2010 / 14:07)
2,мне надо чтоб и файл с индексом[0] тоже отображался!

5. KOZZ (28.01.2010 / 14:12)
Пытался добавить пустое значение+выводить с проверкой на file_exsists - файлом с нулевым индексом считает открываемую директорию

6. Станислав (28.01.2010 / 14:18)
4, 5, ты объясни популярней, что тыхочешь сделать. Может есть более простые решения?

7. KOZZ (28.01.2010 / 14:29)
6,читай 1 пост!!! Я вывожу индекс в гет,и получается такая ссылка:
http://site.ru/a.php?id=0 вместо http://site.ru/mp3/1.mp3
хочу чтоб в гет'е на 1й файл вела ссылка с id=1 ,a не id=0

8. ramzes (28.01.2010 / 15:03)
$id = abs(intval($_GET['id']))+1;

9. KOZZ (28.01.2010 / 15:07)
8,так таким макаром он не будет отображать файл с индексом[0]?!!
З.Ы:модуль числа и тип уже отфильтрованы

10. ramzes (28.01.2010 / 15:20)
Блин, перепуталsmile не +1 а -1smile

11. Удаленный (28.01.2010 / 15:24)
меня автор вообще удивляет,хоть бы полный вопрос дал,чем на педалях думать

12. Дмитрий (28.01.2010 / 15:29)
$id = abs(intval($_GET['id']));
$id = $id ? $id-1 : 0;
вот так будет правильнее, то есть если значение будет 0, то из него не будет вычитаться 1

13. KOZZ (28.01.2010 / 15:58)
11,не врубаешься-не мусорь в теме.
12,хорошо придумано,попробую)должно работать

14. Артур (29.01.2010 / 16:43)
Совершенно не понял для чего лишний код нужен?! 0 такой же символ, и файл можно назвать 0.мп3 к чему все это?

15. KOZZ (29.01.2010 / 19:03)
14,просто интересно,как реализовывать подобные задачи...

16. Артур (29.01.2010 / 19:22)
Сместить можно разными способами, на пример задать новый массив с 0 индексом = ничего; и затем передать в него все значения первого массива только 0 ячейка первого массива передавать в 1 ячейку результирующего и так далее. Можно просто в первом массиве 0 элемент перенести в конец а вместо него поставить 0

17. Артур (29.01.2010 / 19:24)
Можно пройти по всему массиву с именами файлов в обратном порядке и переносить все значения на единицу назад а в 0 ячейку установить ноль.

18. Артур (29.01.2010 / 19:26)
Способ - переместить 0 элемент в конец - мне больше всего нравится, думаю не особо важно будет ли первый файл в конце массива или нет.

19. ramzes (29.01.2010 / 20:22)
Я вот подумал.. Что за массив такой у тебя? Ты типа сканируешь папку выдаешь линк с номером файла в массиве, при переходе сного сканируешь и выдаешь файл с этим номером в массиве?
Как то не рационально выходит.. Особенно если много файлов..

20. KOZZ (30.01.2010 / 09:20)
19,да именно так.
Типа как в витринах

21. Артур (30.01.2010 / 14:00)
Автор, такими темпами убьешь сервер ;) Лучше записывай все файлы в один текстовый файл и его читай, все лучше чем папку перебирать, можно с бд устроить то же самое, будет еще лучше, но гонять по папке для каждого пользователя, это не эстетично мягко говоря smile

22. ramzes (30.01.2010 / 15:30)
А если на живую то передавай не номер в массиве а имя файла

23. KOZZ (31.01.2010 / 07:48)
21,я так не думаю
22,нафига?я сначала так и делал,но как то это не так...да и толку с этого?

24. ramzes (31.01.2010 / 15:41)
Толку с такого - разумное использование ресурсов сервера

25. KOZZ (31.01.2010 / 17:19)
24,каким образом?!разница?!выводить имя файла в гет,или цифру-в чем же заключается это разумное использование ресурсов сервера?

26. ramzes (31.01.2010 / 19:30)
Ну ты юмористsmile какая разница что ты в гет передаешь? А вот лишний цикл сканирования папки с файлами это точно неоправданное действие, без обид но я бы это назвал ярчайшим примером говнокода..smile
(ни чего личного, мы за тем тут и сидим что бы учиться и подсказывать друг другу).

27. KOZZ (01.02.2010 / 14:02)
26,нихт говнокод!;)
я не гоняю лишний цикл-это все тот же.позже покажу

URL: https://visavi.net/topics/5454