2013-04-29 3 views
0

У меня есть фрагмент кода, который над объектом DatePeriod запускает некоторый код. В некоторых ситуациях мне нужно запустить этот foreach на DatePeriod пару раз.php using foreach на объекте будет работать только один раз

foreach($objects as $object){ 
    foreach($period as $date){ 
    //do stuff 
    } 
} 

на моем сервере разработки это нормально работает, когда я переключаюсь на производство. Он будет работать только в первый раз. Каждая последующая попытка пропускает период $ foreach.

Я могу исправить эту проблему, сняв объект $ period и инициализируя его, но я скорее не сделаю этого, если смогу его избежать.

Кто-нибудь знает, почему мой код ведет себя так, как он работает только на моем производственном сервере?

Спасибо.

+1

Являются ли PHP-версия/ОС сервера-разработчика и производственного сервера одинаковыми? – tyteen4a03

+1

Выполняет сброс ($ period); 'после периода foreach исправить проблему? – popthestack

+0

@TimothyChoi [производство: PHP версия 5.3.2-1 на ubuntu] [разработка: PHP версия 5.4.7 на windows 7 (xampp)] – Adrian

ответ

0

Спасибо за вашу помощь всем, но я нашел проблему, копающуюся в примечаниях к php patch.

https://bugs.php.net/bug.php?id=52668

я буду видеть об обновлении до новой версии PHP на моем сервере производства.

Смежные вопросы