array_count_values(),其中对象为值

Pio*_*oul 1 php arrays

我想知道,是否有类似的东西array_count_values,但它与对象一起工作?

让我解释:

array_count_values 将数组作为参数,例如

[1]

Array (
    [0] => banana
    [1] => trololol
)
Run Code Online (Sandbox Code Playgroud)

如果我给那个数组array_count_values,我会得到类似的东西:

[2]

Array (
    [banana] => 1
    [trololol] => 1
)
Run Code Online (Sandbox Code Playgroud)

现在让我们说,我有对象,而不是字符串,我想根据它们的一个属性来计算.所以我有:

[3]

Array (
    [0] => stdClass Object (
        [name] => banana
        [description] => banana, me gusta!
    )
    [1] => stdClass Object (
        [name] => trololol
        [description] => trolololololol
    )
)
Run Code Online (Sandbox Code Playgroud)

而且我希望魔法函数即时搜索能够计算具有相同name属性的对象数量,并返回与[2]相同的输入

显然我可以轻松地自己做,但我只是想知道是否有内置功能,因为我似乎无法找到一个.谢谢,亲切的SOers!

hak*_*kre 5

没有这样的功能.您始终需要首先映射您想要计数的值(并且这些值必须是字符串或整数):

$map = function($v) {return $v->name;};

$count = array_count_values(array_map($map, $data));
Run Code Online (Sandbox Code Playgroud)