我想续订这个问题: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已确认有效。
答案 0 :(得分:2)
$history
或$events
都不是数组,因此array_values不返回数组,array_merge也不返回数组,这会引发foreach循环的另一个警告。
如果两个vars都是数组而不是标量值或对象
,请检查var_dump