我有一个关键用户的数组对象,我尝试获取此键的大小,sizeOf函数返回6.但如果我的对象中有多个关键用户,则sizeOf返回关键用户的数量
这是我的对象的例子:
object(Context)[347]
protected 'values' =>
array (size=23)
[...]
'user' =>
array (size=6)
'nom' =>
array (size=2)
'@content' => string 'foo' (length=6)
'@attributes' =>
'email' => string 'foon@yahoo.fr' (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 'foo@yahoo.fr' (length=24)
1 =>
array (size=6)
'nom' =>
array (size=2)
'@content' => string 'bar' (length=6)
'email' => string 'bar@yahoo.fr' (length=24)
答案 0 :(得分:0)
尝试 -
echo count(array_keys((array)$yourObject));
对于多个用户 -
$count = 0;
foreach((array)$yourObject as $value) {
$count++;
}
echo $count;
答案 1 :(得分:0)
没有计算对象中元素的函数。
有一个黑客: 您可以强制转换对象作为数组:
$arr = (array)$obj;
$count = count($arr);
如果您正在使用STD类对象,也可以使用以下内容:
$arr = get_object_vars($some_std_class_object);
$count = count($arr);
我不明白OP的含义是“用户密钥的数量”,但是一旦获得数组,就可以轻松检索此数组中任何元素的数量。