发布foreach声明

时间:2013-02-18 22:39:55

标签: php foreach

我想续订这个问题:Populating a calendar with PHP foreach code

由于一些奇怪的原因,问题已经恢复,并且它说我为foreach提供了一个无效的参数。有点奇怪的是,它在我的localhost网站上运行得很好。

结果应该是代码应该显示填充的日历。它在我的localhost服务器上,但它不在网站上。我很困惑。

这已经为我的localhost服务器修复了它:

foreach(array_merge(array_values($history), array_values($events)) as $event)

但是当我把网站放到网上时,chrome只是给了我这个:

<b>Warning</b>:  array_values() [<a href='function.array-values'>function.array-values</a>]: The argument should be an array in <b>/home/flyeurov/public_html/lib/skins/flyeuro/events/events_index.tpl</b> on line <b>30</b>
<b>Warning</b>:  array_merge() [<a href='function.array-merge'>function.array-merge</a>]: Argument #2 is not an array in <b>/home/flyeurov/public_html/lib/skins/flyeuro/events/events_index.tpl</b> on line <b>30</b>
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/flyeurov/public_html/lib/skins/flyeuro/events/events_index.tpl</b> on line <b>30</b><br />

数组$ history和$ events已确认有效。

1 个答案:

答案 0 :(得分:2)

$history$events都不是数组,因此array_values不返回数组,array_merge也不返回数组,这会引发foreach循环的另一个警告。

如果两个vars都是数组而不是标量值或对象

,请检查var_dump