首頁 >後端開發 >php教程 >如何在 PHP 中將 stdClass 物件轉換為陣列而不丟失行?

如何在 PHP 中將 stdClass 物件轉換為陣列而不丟失行?

Susan Sarandon
Susan Sarandon原創
2024-11-16 08:31:02825瀏覽

How to Convert a stdClass Object to an Array Without Losing Rows in PHP?

如何在PHP 中將stdClass 物件轉換為陣列

在PHP 中將stdClass 物件轉換為陣列可能是一項棘手的任務,特別是如果原始物件包含元素本身就是物件。這個問答為這個問題提供了一個全面的解決方案。

問題

原始問題描述了以下問題:使用者無法將 stdClass 物件轉換為陣列而不刪除該物件的行。使用者嘗試了多種方法,例如使用 (array) $booking、json_decode($booking, true) 和自訂函數,但所有這些方法都會導致陣列為空。

解決方案

這個問題的解決方案在於使用稍微不同的方法:同時使用 json_encode 和 json_decode 來將物件與 JSON 相互轉換。此方法允許保留物件的行。

步驟

  1. 將 stdClass 物件編碼為 JSON: 使用 json_encode($booking) 將stdClass 物件轉換為 JSON 字串。
  2. 將 JSON 字串解碼為關聯數組: 使用 json_decode(json_encode($booking), true) 將 JSON 字串轉換回關聯數組。這會將 stdClass 物件轉換為數組,同時保留原始物件的行。

代碼

$array = json_decode(json_encode($booking), true);

以上是如何在 PHP 中將 stdClass 物件轉換為陣列而不丟失行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn