在foreach php中只获取一次重复的数组值

Ben*_*enn 1 php arrays

我的数组有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
        )...
Run Code Online (Sandbox Code Playgroud)

环:

   foreach( $myarray as $key=>$item){

       echo $item['category_name'];
    }
Run Code Online (Sandbox Code Playgroud)

注意:我无法知道有多少类别,它可以是一个或多个.目前有4个.感谢任何帮助.谢谢!

Dav*_*ker 6

将数组类别映射到一个简单数组,然后删除所有重复值.

$categories = array_unique(array_map(function($val) {
    return $val['cat_title'];
}, $myarray));

foreach($categories as $cat) {
    echo $cat;
}
Run Code Online (Sandbox Code Playgroud)