通过数组对象循环输出
我已经将$ data ['items']发送到了我的视图,该视图创建了一个充满对象的数组,我可以使用foreach循环来回显对象。
foreach($items as $row)
{
echo $row->NAME . " - " . $row->COLOUR . "<br>";
}
我想要做的就是用颜色名称作为标题标签将它们回显给浏览器,然后启动该颜色的循环。 我只是不确定要做什么类型的循环,或者我应该在循环中有循环吗?
蓝色
- 项目1
- 项目3
红
- 项目2
- 项目4
- 项目5
$list = array();
foreach($items as $row)
{
$list[$row->COLOUR][] = $row->NAME;
}
$header = null;
foreach($list as $item)
{
if($header != $item->COLOUR)
{
echo '<h3>' . $item->COLOUR . '</h3>';
$header = $item->COLOUR;
}
echo '- ' . $item->NAME . '<br />';
}
您可能需要一个临时二维数组:
$tmp = array();
foreach($items as $row)
{
// this code groups all items by color
$name = $row->NAME;
if( !isset ($tmp[ $name ] ) ) $tmp[ $name ] = array();
$tmp[ $name ][] = $row->COLOUR;
}
foreach( $tmp as $color => $items )
{
// colors are now keys to the temp array
echo $color;
// these are all of the items grouped under the current color
foreach( $items as $item )
{
// output the item.
echo "<br /> - $item";
}
echo "<br />";
}
链接地址: http://www.djcxy.com/p/47801.html