首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

总是搞不懂foreach如何这样遍历这样的数组

2013-10-29 
总是搞不懂foreach怎么这样遍历这样的数组例如有这样一个数组:array(4) {[title]array(9) {[0]strin

总是搞不懂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>';
}
}
[解决办法]
对于数据

引用
$ar = array(
  "title" => array("标题1", "标题2", "标题3", "标题4"),
  "id" => array("n1", "n2", "n3", "n4"),
  "pic" => array("1.jpg", "2.jpg", "3.jpg", "4.jpg"),
  "price" => array("85.00", "155.00", "49.00", "75.00"),
);
方法1:
foreach($ar['id'] as $i=>$r) {
  echo <<< HTML
<li>
<a href="$r" />
<img src="{$ar['pic'][$i]}"/>
{$ar['title'][$i]}
<em>{$ar['price'][$i]}</em>
</a>
</li>
HTML;
}
方案2
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>

热点排行