我的数组有12个新闻项目,包括标题,说明和类别名称
我只有4个类别(每个3个项目)并且需要创建类别菜单但是如果我从items数组中获取它们,那么我有12个类别名称(每个3个)。如果类别名称已经打印过,我该如何才能回显它?
$ myarray print:
[0] => Array
(
[title] => Item 1
[desc] => Sed venenatis bibendum nisl, eget iaculi
[cat_title] => Category 1
)
[1] => Array
(
[title] => Item 1
[desc] => Sed venenatis bibendum nisl, eget iaculi
[cat_title] => Category 2
)
[2] => Array
(
[title] => Item 2
[desc] => Sed venenatis bibendum nisl, eget iaculi
[cat_title] => Category 2
)...
循环:
foreach( $myarray as $key=>$item){
echo $item['category_name'];
}
注意:我无法知道有多少类别,可能是一个或多个。目前有4个。 任何帮助表示赞赏。谢谢!
答案 0 :(得分:6)
将数组类别映射到一个简单数组,然后删除所有重复值。
$categories = array_unique(array_map(function($val) {
return $val['cat_title'];
}, $myarray));
foreach($categories as $cat) {
echo $cat;
}
答案 1 :(得分:1)
您可以创建临时数组:
$temp = array();
foreach( $myarray as $key=>$item){
if(!in_array($item['category_name'], $temp)){
echo $item['category_name'];
$temp[] = $item['category_name'];
}
}