Проблема с PHP

nworm

Member
Joined
Aug 18, 2006
Messages
114
Reaction score
153
Location
Russia, Tomsk
Добрый день. Проблема следующая.
Есть массив, который содержит в себе названия временных интервалов, например такой:
$good_tods = array("01 января 2006", "01 февраля 2006", "01 марта 2006")
для выпадающего списка нужно переделать его в более удобный для пользователей вид:
$tods = array("01 января 2006 -- 01 февраля 2006", "01 февраля 2006 -- 01 марта 2006", "01 марта 2006 -- текущая дата")

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

Code:
[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 меньше, чем у массива исходного (а должен быть таким же).

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


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


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

waldo

Member
Joined
Feb 22, 2004
Messages
210
Reaction score
58
Location
Питер
Чует мое сердце, дело в том, что ты по ходу при индексировании инкрементируешь $i.
Правая часть присваивания выполняется первой, в итоге, присваивание в $tods[0] просто не происходит, так как $i уже инкрементирована.
Перенеси инкремент в заголовок цикла, а в индексации напиши просто $i+1
 

nworm

Member
Joined
Aug 18, 2006
Messages
114
Reaction score
153
Location
Russia, Tomsk
Спасибо огромное... Ты оказался прав.
Еще раз подтверждается истина, что в 4 часа ночи надо спать, а не программить...
 
Top