使用 count() 函数计算 PHP 中 stdClass 对象的属性可能并不总是返回预期结果。 count() 函数主要用于计算数组的元素数量。
要准确计算 stdClass 对象的属性,可以使用 (array)$obj 将其转换为数组。此转换将创建一个数组,其中的键和值对应于对象的属性。
考虑以下 stdClass 对象,它表示从 Twitter 检索的每日趋势数据:
$trends = json_decode('{
"trends": {
"2009-08-21 11:05": [
{
"query": "Follow Friday",
"name": "Follow Friday"
},
... // Additional trend data
]
}
}');
如果对此对象使用 count($trends),则可能无法获得预期结果 30,因为该对象有 30 个属性。
相反,请强制转换该对象到一个数组,然后对元素进行计数:
$total = count((array)$trends);
这种方法将准确地计算 $trends 对象的属性,结果正确的值为 30。
请记住,将对象转换为数组在某些情况下可能会受到限制。然而,对于像本例中的简单 stdClass 对象,它提供了一种方便的方法来计算其属性。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3