在 PHP 中將 stdClass 物件轉換為陣列
從資料庫擷取資料時,通常會取得代表一行的 stdClass 物件。然而,使用物件可能並不總是很方便。本文討論如何在 PHP 中將此類物件轉換為關聯數組。
問題
考慮以下場景:您使用資料庫查詢取得貼文 ID 並儲存它們位於 stdClass 物件 ($post_id) 中。當嘗試列印該物件時,您會注意到它包含帶有“post_id”鍵的元素。您的目標是將帖子 ID 提取為整數數組而不是物件數組。
解
將 stdClass 物件轉換為陣列:
1。 JSON 編碼和解碼
此方法涉及將物件轉換為 JSON 字串,然後將其解碼回數組。下面的程式碼示範了這一點:
$array = json_decode(json_encode($post_id), true);
2.手動遍歷
或者,您可以手動遍歷物件並自行建立陣列:
$array = array(); foreach ($post_id as $value) { $array[] = $value->post_id; }
範例
讓我們假設您的$post_id 物件看起來像this:
Array( [0] => stdClass Object ( [post_id] => 140 ) [1] => stdClass Object ( [post_id] => 141 ) [2] => stdClass Object ( [post_id] => 142 ) )
使用手動遍歷方法,您的輸出陣列將是:
Array( [0] => 140 [1] => 141 [2] => 142 )
結論
兩種方法都提供了可行的選項用於將stdClass 物件轉換為陣列。 JSON 方法簡潔高效,而手動方法可以讓您更好地控制流程。
以上是如何在 PHP 中將 stdClass 物件轉換為陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!