Я новичок в php и пытаюсь написать скрипт, который принимает метки времени в форме «23 января 2014 в 23:01» и разбивает их на массив месяца, даты, года, часа и минуты. Вот мой код до сих пор:
$raw_data= array("January 20, 1993 at 10:20PM", "September 6, 1991 at 6:23PM");
var_dump($raw_data);
$num_dates= count($raw_data);
//Step 1: break content into month, day, year, hour, and minutes
for ($i=0; $i==($num_dates-1); $i++) {
$partial_data = implode(preg_split("/[A-Z]{2}/", $raw_data[$i]));
$broken_data[$i] = preg_split("/[\s,:]/", $partial_data);
unset($broken_data[$i][2]);
unset($broken_data[$i][3]);
}
var_dump($broken_data);
Код работает нормально без var_dump, но когда я его добавляю, php сообщает мне, что $ broken_data — неопределенная переменная. Кто-нибудь видит очевидную ошибку новичка, которую я делаю?
Заранее спасибо.
Измените условие цикла, чтобы использовать сравнение, а не равенство.
for ($i = 0; $i < ($num_dates - 1); $i++)
Код внутри вашего цикла никогда не выполняется, потому что условие цикла не выполняется с первой попытки.
Других решений пока нет …