2014-12-09 37 views
2

我有一個關鍵用戶的數組對象,我試着獲得這個鍵的大小,sizeOf函數返回6.但如果我有多個關鍵用戶在我的對象中sizeOf返回關鍵用戶的數量。如何獲得一個php對象中的鍵的數量

這裏是我的對象的爲例:

object(Context)[347] 
protected 'values' => 
array (size=23) 
    [...] 
    'user' => 
    array (size=6) 
     'nom' => 
     array (size=2) 
      '@content' => string 'foo' (length=6) 
      '@attributes' => 

     'email' => string '[email protected]' (length=24) 
    [...] 

怎麼得到我的目標用戶密鑰數量的最佳方式?

感謝

編輯:

與多個用戶我得到這個

object(Context)[347] 
protected 'values' => 
array (size=23) 
    [...] 
    'user' => 
    array (size=2) 
     0 => 
     array (size=6) 
      'nom' => 
      array (size=2) 
       '@content' => string 'foo' (length=6) 
      'email' => string '[email protected]' (length=24) 
     1 => 
     array (size=6) 
      'nom' => 
      array (size=2) 
       '@content' => string 'bar' (length=6) 
      'email' => string '[email protected]' (length=24) 
+0

[array_keys(http://php.net/array_keys) – DarkBee 2014-12-09 11:25:59

回答

0

嘗試用 -

echo count(array_keys((array)$yourObject)); 

對於多個用戶 -

$count = 0; 
foreach((array)$yourObject as $value) { 
    $count++; 
} 
echo $count; 
+0

,如果我得到一個唯一的用戶密鑰,然後計數返回6 – Hussein 2014-12-09 11:32:31

+0

如果你有那麼多'users'一個'foreach'內計數。 – 2014-12-09 11:34:39

+0

我應該像這樣測試: 'var_dump(array_keys((array)$ context,'user'));' – Hussein 2014-12-09 11:42:43

0

沒有函數來計算對象中的元素。

有一個黑客: 可以的對象數組:

$arr = get_object_vars($some_std_class_object); 
$count = count($arr); 

$arr = (array)$obj; 
$count = count($arr); 

您還可以,如果您使用的是性病類對象使用以下我不明白OP的意思是「用戶鍵的數量」,但是一旦你獲得了數組,你可以很容易地檢索到這個數組中任何元素的數量。

相關問題