これが些細な質問である場合は、お詫び申し上げます。検索しましたが、質問に対する答えが見つかりませんでしたので、投稿しています。私を助けてくれる人に前もって感謝し、あなたの時間をありがとう。私は、api(sanfrancisco.crimespotting.org)によって返された犯罪データの単純な解析を実行しようとしており、問題が発生しています。以下の非常に単純なコード。
<?
$url = "http://sanfrancisco.crimespotting.org/crime-data?format=xml&count=5&dstart=2009-04-20";
$reports = new SimpleXMLElement($url, NULL, TRUE);
foreach ($reports-> report as $key => $value)
{
echo '<br />';
echo '<b>Case #:</b> '.$reports -> report['case_number'];
echo '<br />';
echo '<b>Crime type</b> '.$reports -> report['crime_type'];
echo '<br />';
echo '<b>Date/Time:</b> '.$reports -> report['date_time'];
echo '<br />';
echo '<b>Date </b> '.$reports -> report['date'];
echo '<br />';
echo '<b>Time:</b> '.$reports -> report['time'];
echo '<br />';
echo '<b>More Info </b> '.$reports -> report['href'];
echo '<br />';
echo '<br />';
echo '<br />';
}
?>
ブラウザでURLをテストすると、APIから5つのレポートが返されます。5つのレポートタグが返されます。これが私のブラウザからの出力です。
<reports>
<report case_number="120220205" crime_type="Vehicle Theft" date_time="2012-07-17T23:10:00-07:00" date="Tuesday, Jul 17, 2012" time="11:10pm" lat="37.772441" lon="-122.412422" beat="" href="http://sanfrancisco.crimespotting.org/crime/2012-07-17/Vehicle_Theft/320858">STOLEN AUTOMOBILE</report>
<report case_number="120560807" crime_type="Alcohol" date_time="2012-07-16T13:35:00-07:00" date="Monday, Jul 16, 2012" time="1:35pm" lat="37.783288" lon="-122.408954" beat="" href="http://sanfrancisco.crimespotting.org/crime/2012-07-16/Alcohol/334582">
UNDER INFLUENCE OF ALCOHOL IN A PUBLIC PLACE (ARREST, BOOKED)
</report>
<report case_number="120559850" crime_type="Disturbing the Peace" date_time="2012-07-16T13:00:00-07:00" date="Monday, Jul 16, 2012" time="1:00pm" lat="37.778678" lon="-122.416545" beat="" href="http://sanfrancisco.crimespotting.org/crime/2012-07-16/Disturbing_The_Peace/334575">COMMITTING PUBLIC NUISANCE (ARREST, CITED)</report>
<report case_number="120560653" crime_type="Theft" date_time="2012-07-16T12:35:00-07:00" date="Monday, Jul 16, 2012" time="12:35pm" lat="37.784644" lon="-122.414271" beat="" href="http://sanfrancisco.crimespotting.org/crime/2012-07-16/Theft/334580">PETTY THEFT SHOPLIFTING</report>
<report case_number="120560700" crime_type="Theft" date_time="2012-07-16T12:00:00-07:00" date="Monday, Jul 16, 2012" time="12:00pm" lat="37.78966" lon="-122.400934" beat="" href="http://sanfrancisco.crimespotting.org/crime/2012-07-16/Theft/334581">GRAND THEFT BICYCLE</report>
</reports>
ご覧のとおり(上記)、各レポートタグには異なるcase_number属性があります(例:120220205、120560807など)。ただし、ページをロードすると、これが受信する出力になります。
Case #: 120220205
Crime type Vehicle Theft
Date/Time: 2012-07-17T23:10:00-07:00
Date Tuesday, Jul 17, 2012
Time: 11:10pm
More Info http://sanfrancisco.crimespotting.org/crime/2012-07-17/Vehicle_Theft/320858
Case #: 120220205
Crime type Vehicle Theft
Date/Time: 2012-07-17T23:10:00-07:00
Date Tuesday, Jul 17, 2012
Time: 11:10pm
More Info http://sanfrancisco.crimespotting.org/crime/2012-07-17/Vehicle_Theft/320858
Case #: 120220205
Crime type Vehicle Theft
Date/Time: 2012-07-17T23:10:00-07:00
Date Tuesday, Jul 17, 2012
Time: 11:10pm
More Info http://sanfrancisco.crimespotting.org/crime/2012-07-17/Vehicle_Theft/320858
Case #: 120220205
Crime type Vehicle Theft
Date/Time: 2012-07-17T23:10:00-07:00
Date Tuesday, Jul 17, 2012
Time: 11:10pm
More Info http://sanfrancisco.crimespotting.org/crime/2012-07-17/Vehicle_Theft/320858
Case #: 120220205
Crime type Vehicle Theft
Date/Time: 2012-07-17T23:10:00-07:00
Date Tuesday, Jul 17, 2012
Time: 11:10pm
More Info http://sanfrancisco.crimespotting.org/crime/2012-07-17/Vehicle_Theft/320858
返された結果をループするためにforeachループを使用しているので、foreachループが自動的にインクリメントする必要があることを理解しているので、最初のケースが5回繰り返される理由がわかりません。