2012-12-28 61 views
1

是否有另一种写这个数组循环代码的方法。当我运行我无法理解的代码时,我似乎得到了服务器500错误。它特别发生在array_push行上。任何有关重写语句而不使用array_push的帮助指导都会对我有所帮助。php array_push导致服务器500

$PaymentOrderItems = array(); 

foreach($resultBookings->getRecords() as $key=>$record_row) { 
    $Item = array(
    'name' => $record_row->getField('Start_date'), 
    'desc' => $record_row->getField('Description'), 
    'amt' => $record_row->getField('Price_per_week'), 
    ); 
    array_push($PaymentOrderItems, $Item); //this line is the culprit - if I comment this this out 
} 

非常感谢

+0

你正在试图存储在这个数组的内存中的数据有多大?你是否遇到内存分配限制?你在日志中看到什么错误? –

+0

500错误与服务器有关。它通常发生在服务器配置不正确或者例如'.htaccess','httpd.ini'或'php.ini'文件存在语法错误时。它不应该与PHP代码有关。 –

+0

@迈克布兰特,即时消息只能看到大约60个上衣。我的测试数据只有3。 – JK36

回答

1

代码显示正常。我假设你已经验证了结果集合的有效性?

如果不是,那么它听起来像可能是结果相关。数据结构是否按照您的预期返回?

4

有一个在你的foreach结束失踪)

foreach($resultBookings->getRecords() as $key=>$record_row { 

变为:

foreach($resultBookings->getRecords() as $key=>$record_row) { 
+0

虽然这只应该给出一个“解析错误”。 –

+0

是的,如果将PHP配置为生产环境,则解析错误会创建HTTP 500响应。 –

+0

谢谢,在我的foreach循环中添加了结尾“)”。它在我的原始代码中 - 所以它不是问题,只是当我试图在Stack Overflow中格式化代码时,代码变得混乱。我现在更新了我的原始代码。 – JK36