如何从对象中获取唯一属性列表

Bad*_*ger 2 php

我有一组具有“类别”属性的对象。我需要获取不同类别的列表,鉴于我有一种方法可以从对象中获取类别,我该怎么做?下图创建了数组中所有类别的列表,但显然有很多重复的类别:

    foreach (getSourceCodes() as $source) {
        echo $source->getCategory();
    }
Run Code Online (Sandbox Code Playgroud)

Arj*_*ath 5

您可以array_unique()在 php.ini 中使用。

$categories = array();
foreach (getSourceCodes() as $source) {
    array_push($categories, $source->getCategory());
}
$categories = array_unique($categories);
Run Code Online (Sandbox Code Playgroud)

如果categories是多维的,就用这个方法将它序列化,然后得到唯一的数组,再改回数组。

$categories = array_map("unserialize", array_unique(array_map("serialize", $categories)));
Run Code Online (Sandbox Code Playgroud)