总是搞不懂foreach怎么这样遍历这样的数组
例如有这样一个数组:
array(4) {
["title"]=>
array(9) {
[0]=>
string(3) "标题1"
[1]=>
string(3) "标题2"
[2]=>
string(3) "标题3"
[3]=>
string(3) "标题4"
}
["id"]=>
array(9) {
[0]=>
string(1) "n1"
[1]=>
string(1) "n2"
[2]=>
string(1) "n3"
[3]=>
string(1) "n4"
}
["pic"]=>
array(9) {
[0]=>
string(4) "1.jpg"
[1]=>
string(4) "2.jpg"
[2]=>
string(4) "3.jpg"
[3]=>
string(4) "4.jpg"
}
["price"]=>
array(9) {
[0]=>
string(5) "85.00"
[1]=>
string(6) "155.00"
[2]=>
string(5) "49.00"
[3]=>
string(5) "75.00"
}
....更多数组
}
我想把里面的数据这样遍历循环出来:
<li>
<a href="n1" />
<img src="1.jpg"/>
标题1
<em>85.00</em>
</a>
</li>
<li>
<a href="n2" />
<img src="2.jpg"/>
标题2
<em>155.00</em>
</a>
</li>
<li>
<a href="n3" />
<img src="3.jpg"/>
标题3
<em>49.00</em>
</a>
</li>
<li>
<a href="n4" />
<img src="4.jpg"/>
标题4
<em>75.00</em>
</a>
</li>
里面应该怎么写的?
foreach($arr as $key => $value)
{
foreach(里面不会写了)
{
echo '<li>';
echo '<a href="n'.$id.'" />';
echo '<img src="'.$pic.'"/>';
echo $title;
echo '<em>'.$price.'</em>';
echo '</a>';
echo '</li>';
}
}
[解决办法]
对于数据
foreach($ar['id'] as $i=>$r) {方案2
echo <<< HTML
<li>
<a href="$r" />
<img src="{$ar['pic'][$i]}"/>
{$ar['title'][$i]}
<em>{$ar['price'][$i]}</em>
</a>
</li>
HTML;
}
foreach(array_map(null, $ar['id'], $ar['pic'], $ar['title'], $ar['price']) as $i=>$r) {均可输出
echo <<< HTML
<li>
<a href="$r[0]" />
<img src="$r[1]"/>
$r[2]
<em>$r[3]</em>
</a>
</li>
HTML;
}
<li>
<a href="n1" />
<img src="1.jpg"/>
标题1
<em>85.00</em>
</a>
</li><li>
<a href="n2" />
<img src="2.jpg"/>
标题2
<em>155.00</em>
</a>
</li><li>
<a href="n3" />
<img src="3.jpg"/>
标题3
<em>49.00</em>
</a>
</li><li>
<a href="n4" />
<img src="4.jpg"/>
标题4
<em>75.00</em>
</a>
</li>