1

私の配列には、タイトル、説明、カテゴリ名を含む 12 のニュース項目があります

私は 4 つのカテゴリ (それぞれ 3 つの項目) しかなく、カテゴリ メニューを作成する必要がありますが、項目配列からそれらを取得すると、結果として 12 のカテゴリ名 (それぞれ 3x) があります。すでに印刷されている場合、カテゴリ名を一度だけエコーするにはどうすればよいですか?

$myarray 印刷:

   [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'];
    }

: カテゴリがいくつになるかはわかりません。1 つまたは複数になる可能性があります。現在 4 つあります。どんな助けでも大歓迎です。ありがとうございました!

4

2 に答える 2

6

配列のカテゴリを単純な配列にマップしてから、重複する値をすべて削除します。

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

foreach($categories as $cat) {
    echo $cat;
}
于 2013-09-19T13:17:25.910 に答える