スクリプトを PHP4 から PHP5 にアップグレードしようとしていますが、foreach に問題があります。私はオンラインで調べましたが、自分のスクリプトで機能するものを見つけることができませんでした。
基本的に問題は、$filmid
9$event['venueID']
行目と 13 行目が認識されず、配列が空を返すことです。$filmid
andに値を割り当てることで機能させることができます$event['venueID']
が、明らかにそれはポイントを完全に無効にします。
基本的に、スクリプトが機能するようにこれらを書き直すにはどうすればよいですか? if($event['titleID'] == $filmid ){ and 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>";
}