-1

我想更新这个问题:使用 PHP foreach 代码填充日历

由于某种奇怪的原因,问题又回来了,它说我为 foreach 提供了一个无效的参数。奇怪的是,它可以在我的本地主机网站上正常运行。

结果应该是代码应该显示一个填充的日历。它在我的本地主机服务器上运行,但在网站上不在线。我很困惑。

这已经为我的本地主机服务器修复了它:

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 被确认可以工作。

4

1 回答 1

2

要么不是数组,$history要么$events不是数组,因此 array_values 不返回数组,并且 array_merge 也不返回数组,这会在 foreach 循环中引发另一个警告。

使用 var_dump 检查两个 var 是否真的是数组而不是标量值或对象

于 2013-02-18T22:43:36.307 回答