この質問に正しく名前が付けられているかどうかわかりません。私はいくつかのHTMLノードを構築するために、多次元php配列をループするいくつかの問題を抱えています。ここで私はオーバーループするよ配列されています多次元PHP配列 - キーからデータを選択
$locations = array(
'CityName' => array(
array(
'title' => 'Title',
'phone' => '(555) 555-5555',
'address' => '1234 Fake st.',
'city' => 'Ventura',
'state' => 'CA',
'zip' => '93003',
'url' => 'http://www.google.com/'
),
array(
'title' => 'Title',
'phone' => '(555) 555-5555',
'address' => '1234 Fake st.',
'city' => 'Ventura',
'state' => 'CA',
'zip' => '93003',
'url' => 'http://www.google.com/'
),
),
'CityName2' => array(
array(
'title' => 'Title',
'phone' => '(555) 555-5555',
'address' => '1234 Fake st.',
'city' => 'Ventura',
'state' => 'CA',
'zip' => '93003',
'url' => 'http://www.google.com/'
),
array(
'title' => 'Title',
'phone' => '(555) 555-5555',
'address' => '1234 Fake st.',
'city' => 'Ventura',
'state' => 'CA',
'zip' => '93003',
'url' => 'http://www.google.com/'
)
)
);
は私が何をしようとしているため、誤ってこの配列を構築していることに注意してください。このループのためのHTML出力は次のようになります。
<h4>CityName</h4>
<ul>
<li>
<p>Title</p>
<p>1234 Fake St.</p>
<p>Ventura, CA 93003</p>
<p>(555) 555-5555</p>
<p class="link"><a href="http://www.google.com/" target="_blank">Visit Website</a></p>
</li>
<li>
<p>Title</p>
<p>1234 Fake St.</p>
<p>Ventura, CA 93003</p>
<p>(555) 555-5555</p>
<p class="link"><a href="http://www.google.com/" target="_blank">Visit Website</a></p>
</li>
</ul>
<h4>CityName2</h4>
<ul>
...
</ul>
私は私がやりたいことは、私のHTMLテンプレートにプラグインするために、データの個々の部分をつかむことができるようにだと思う.. $場所[「タイトル」]のような、$ location ['phone']などです。私が現在持っているPHPはループして、個々のロケーション配列からキーや値をエコーアウトするだけです。
<?php
// Printing all the keys and values one by one
$locationNames = array_keys($locations);
for($i = 0; $i < count($locations); $i++) {
echo "<h4>" . $locationNames[$i] . "</h4>";
echo "<ul>";
foreach($locations[$locationNames[$i]] as $key => $value) {
foreach($value as $key => $value) {
echo $value;
}
}
echo "</ul>";
}
?>
2つの 'foreach'文 – cmorrissey