2010-08-28 93 views
0

如何获取此对象内部对象的数量?我们只想计算两个内部对象Count ThisAnd This。所以我们的答案是两个。获取内部对象的数量

这里是对象

stdClass的对象(

[Count This] => stdClass Object 
    (
     [arr] => Array 
      (
       [0] => data 
       [1] => some data 
      ) 
    ) 

[And This] => stdClass Object 
    (
     [anotherArr] => Array 
      (
       [0] => more data 
      ) 
    ) 

+0

你应该为这样的事情实现'Countable'接口。在更复杂/真实的情况下,数组投射可能会造成混淆。 – Crozin 2010-08-28 05:46:57

回答

3

这是确切的答案 $总=计数((阵列)$ OBJ);

+0

这就是一个用于铸造。非常好。 – Mike 2010-08-28 05:38:25

+1

用于数组转换的+1,因为尝试将一个对象计数为一个对象将返回1,除非它实现了'Countable'。 – BoltClock 2010-08-28 05:40:12

+0

如果在对象中有私人的,受保护的和公共的字段,请小心铸造。此方法可能会根据PHP版本返回不同的计数。 – 2010-08-28 05:40:35

0
$count = 0; 
foreach($theobject as $var) 
{ 
    if(gettype($var) == 'object') 
    { 
    $count++; 
    } 
} 
+0

这是最后的手段。 – Mike 2010-08-28 05:40:40