2011-10-14 5 views
1

궁금한 점은 array_count_values과 비슷한 점이 있지만 개체와 호환됩니까?값이 객체 인 array_count_values ​​()

설명해 드리죠 :

array_count_values는 인수로 배열을 취 등

[1]

Array (
    [0] => banana 
    [1] => trololol 
) 

내가 array_count_values에 해당 배열을 제공하는 경우, 내가 좋아하는 뭔가를 얻을 것이다 :

[2]

Array (
    [banana] => 1 
    [trololol] => 1 
) 

이제 문자열 대신 해당 속성 중 하나를 기반으로 계산할 개체가 있다고 가정 해 보겠습니다. 그래서 난이 :

[3]

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

그리고 난 싶어 마법의 기능-IM--에 대한보고, 같은 name 속성 개체의 수를 계산하기 위해 동일한를 반환 으로 입력하십시오 [2]

분명히 저 자신에 쉽게 할 수 있었다, 그러나 나가 couldnt 한 1 개를 찾아내는 것처럼 보이기 때문에, 저것을위한 붙박이 기능이 있는지 나는 다만 생각해보고 있었다. 고마워, 친절한 SOERS!

답변

5

이러한 기능은 없습니다. 당신은 항상 당신이 계산하고자하는 (그 값이 문자열이나 정수 여야합니다) 먼저 값을지도해야합니다

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

$count = array_count_values(array_map($map, $data)); 
+0

나는 그것에 대해 알지 못했다. 정말 멋지다. 고마워 .-) – Pioul

0

Reflection classes을 확인하면 개체에 대한 정보를 쉽게 가져올 수 있습니다.

+0

당신이'stdClass' 객체의 속성에 대해 배우고 싶은 경우 ReflectionClass''의 사용이 제한되어 (속성이 정의되지 않은 경우). 'ReflectionObject' 또는'get_object_vars()'를 더 잘 사용하십시오. – hakre

+0

나는 그것을 보겠다. 그러나 hakre의 대답은 내가 필요한 것이다. 그래도 고마워! – Pioul

관련 문제