そのため、XML フィードを反復処理してページ分割しようとしていますが、問題が発生しました。現在の配列のインデックス (キー) を取得しようとすると、0,1,2,3 のような増分整数ではなく、反復ごとに文字列 "campDetails" が出力されます。
XML 形式のサンプルを次に示します。
<campaigns> <campDetails> <campaign_id>2001</campaign_id> <campaign_name>Video Chat Software</campaign_name> <url>http://www.fakeurl.com</url> </campDetails>
<?php
$call_url = "https://www.fakeurl.com";
if($xml = simplexml_load_file($call_url, "SimpleXMLElement", LIBXML_NOCDATA)):
foreach($xml as $i => $offers):
$offer_link = $offers->url;
$offer_raw_name = $offers->campaign_name;
echo $i . " " . $offer_link; ?> </br> <?php echo $offer_raw_name;
endforeach;
endif;
?>
予想される出力:
0 http://www.fakeurl.com
Video Chat Software
実際の出力:
campDetails http://www.fakeurl.com
Video Chat Software
編集:皆さん、ご回答ありがとうございます。ここの別の質問から誤った情報が提供されたようです。$i は現在の繰り返しの数値インデックスを保持すると言われました。
print_r($xml); (明らかにもっと結果が出ていますが、これが最初です)
SimpleXMLElement Object ( [campDetails] => Array ( [0] => SimpleXMLElement Object ( [campaign_id] => 2001 [campaign_name] => Video Chat Software [url] => http://www.fakeurl.com/ )