【发布时间】:2013-04-29 17:09:07
【问题描述】:
我有一段代码可以在 DatePeriod 对象上运行一些代码。在某些情况下,我需要在 DatePeriod 上运行这个 foreach 几次。
foreach($objects as $object){
foreach($period as $date){
//do stuff
}
}
在我的开发服务器上运行良好,当我切换到生产时。它只会在第一次运行。每次后续尝试都将跳过 $period foreach。
我可以通过取消设置 $period 对象并对其进行初始化来解决此问题,但如果可以避免的话,我宁愿不这样做。
有谁知道为什么我的代码只在我的生产服务器上的行为方式?
谢谢。
【问题讨论】:
-
开发服务器和生产服务器的PHP版本/操作系统是否相同?
-
foreach 之后的
reset($period);是否可以解决问题? -
@TimothyChoi [生产:ubuntu 上的 PHP 版本 5.3.2-1] [开发:Windows 7 (xampp) 上的 PHP 版本 5.4.7]
-
Documentation 中的最后一条评论提到了在同一 DatePeriod 上执行多个
foreach循环时某些 PHP 版本中的错误。 -
无论如何,5.3.2 都有一个错误,导致它无法正常工作。