php5脚本升级 - foreach里面的foreach

时间:2012-08-13 12:10:13

标签: php foreach

我正在尝试将脚本从PHP4升级到PHP5,而且我遇到了foreach的问题。我已经在线查看,但找不到适用于我脚本的任何内容。

基本上,问题是第9行的$filmid和第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>";

}

2 个答案:

答案 0 :(得分:0)

你在最后一个foreach循环中错过了一个}

答案 1 :(得分:0)

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

因此我建议改变:

$event['titleID']

$event->titleID

如果这样有效,那很好。如果它不起作用,那么您需要通过提供$thisweeksxmlvar_dump($thisweeksxml)的输出向我们展示有关print_r($thisweeksxml)结构的更多信息。 (将其编辑成原始问题)