Проблема с PHP

  • Тут может быть ваша реклама

nworm

Турист
18 Авг 2006
114
0
68
Russia, Tomsk
Credits
0
Добрый день. Проблема следующая.
Есть массив, который содержит в себе названия временных интервалов, например такой:
$good_tods = array("01 января 2006", "01 февраля 2006", "01 марта 2006")
для выпадающего списка нужно переделать его в более удобный для пользователей вид:
$tods = array("01 января 2006 -- 01 февраля 2006", "01 февраля 2006 -- 01 марта 2006", "01 марта 2006 -- текущая дата")

Для этого использую такой код:

Код:
[SIZE="3"]for($i=0; $i<(count($good_tods)-1);)
	$tods[$i] = $good_tods[$i++]." -- ".$good_tods[$i];
$tods[$i] = $good_tods[$i]." -- ".date("d F Y");[/SIZE]

Далее такая интересная штука. На локальной машине, на которой установлен Денвер и создавался скрипт все работает нормально. При переносе на сервер массив $tods заполняется неверно. А именно, первое значение пустое и последняя инструкция не выполняется, поэтому размер массива на 1 меньше, чем у массива исходного (а должен быть таким же).

Как это должно выглядеть:


И как это выглядит после переноса на сервер:


Подскажите, пожалуйста, в чем может быть проблема...
 
Последнее редактирование модератором:

waldo

Турист
22 Фев 2004
210
9
53
Питер
Credits
0
Чует мое сердце, дело в том, что ты по ходу при индексировании инкрементируешь $i.
Правая часть присваивания выполняется первой, в итоге, присваивание в $tods[0] просто не происходит, так как $i уже инкрементирована.
Перенеси инкремент в заголовок цикла, а в индексации напиши просто $i+1
 
  • Like
Реакции: nworm

nworm

Турист
18 Авг 2006
114
0
68
Russia, Tomsk
Credits
0
Спасибо огромное... Ты оказался прав.
Еще раз подтверждается истина, что в 4 часа ночи надо спать, а не программить...