使用 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