首頁 > 後端開發 > php教程 > 如何有效地將PHP物件轉換為陣列?

如何有效地將PHP物件轉換為陣列?

Linda Hamilton
發布: 2024-12-07 15:23:12
原創
428 人瀏覽過

How to Effectively Convert PHP Objects into Arrays?

如何將物件轉換為陣列

一維數組

對於一維數組,您可以使用強制轉換或 get_object_vars function.

轉換:

$array = (array) $object;
登入後複製

get_object_vars:

$array = get_object_vars($object);
登入後複製

這兩種方法都會將物件轉換為陣列,它們表現出細微的差異。 get_object_vars 僅傳回可公開存取的屬性,除非在物件的範圍內呼叫。但是,轉換會保留所有成員,包括私有成員和受保護成員。

多維數組

對於多維數組,您可以採用各種方法。

JSON編碼和解碼:

如果你的物件可以編碼為JSON,你可以使用PHP 原生JSON 函數:
$array = json_decode(json_encode($object), true);
登入後複製

此方法不包含私有和受保護成員,不適合包含非JSON 編碼資料的物件。

遞歸函數:

以下函數遞歸地將物件轉換為數組,包括私有的和受保護的成員:
function objectToArray($object) {
    if(!is_object($object) && !is_array($object))
        return $object;

    return array_map('objectToArray', (array) $object);
}
登入後複製

以上是如何有效地將PHP物件轉換為陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板