2010-08-28 34 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