0

我正在尝试将脚本从 PHP4 升级到 PHP5,但我遇到了 foreach 问题。我在网上查看过,但找不到任何适合我的脚本的东西。

基本上,问题在于无法识别$filmid第 9 行和第 13 行,并且数组返回空。$event['venueID']我可以通过分配值来使其工作,$filmid$event['venueID']显然这完全违背了这一点。

所以基本上,我怎样才能重写这些让我的脚本工作?if($event['titleID'] == $filmid){ 和 if($venue['venueID'] == $event['venueID']){

这是我正在使用的数据:

<listing>
<venueList>
<venue venueID="vxappfil">
</venue>
</venueList>
<titleList>
<title titleID="txgrewhi3">
<titleName>The Great White Silence</titleName>
</title> 
</titleList>
<eventList>
<event titleID="txgrewhi3" venueID="vxappfil">
<startDate>03/08/2012</startDate>
<endDate>09/08/2012</endDate>
<times>Sun 19:00</times>
</event>
</eventList>
</listing>

以下是代码:

foreach ($thisweeksxml->titleList->title as $title) {
    $filmid = $title['titleID'];
    ......


    $thiweekscinemasnamesarray = array();
    foreach ($thisweeksxml->eventList->event as $event) { 

        if($event['titleID'] == $filmid ){

            foreach ($thisweeksxml->venueList->venue as $venue) {

                if($venue['venueID'] == $event['venueID']){


                    $cityname = strtolower(str_replace ($removeChars, "", $venue->venueAddress->town));
                    $venuname = strtolower(str_replace ($removeChars, "", $venue->venueName));
                    $thiweekscinemasnamesarray[] = ("- <a href='/cinema/".$cityname."-".$venuname.".html'><font size='-2' style='line-height:15pt'>".$venue->venueAddress->town.", ".$venue->venueName."</font></a>");

                }

            }   

        }

    }

    sort($thiweekscinemasnamesarray);
    foreach($thiweekscinemasnamesarray as $lastweek){

    $bodycontent .="".$lastweek."<br>";

}
4

2 回答 2

0

你在最后一个 foreach 循环中缺少一个 }

于 2012-08-13T12:30:37.927 回答
0

这里没有足够的信息可以处理,但我猜你作为数组访问的变量实际上是对象。

因此,我建议更改:

$event['titleID']

进入

$event->titleID

如果这行得通,那就太好了。如果它不起作用,那么您需要$thisweeksxml通过提供var_dump($thisweeksxml)or的输出来向我们展示更多关于 的结构print_r($thisweeksxml)。(将其编辑为原始问题)

于 2012-08-13T12:30:49.170 回答