Подсчет свойств объекта stdClass в PHP с помощью функции count() не всегда может возвращать ожидаемый результат. Функция 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