將PHP 物件轉換為關聯陣列
整合使用物件的API 並且您的程式碼使用陣列時,需要將一個物件轉換為另一個對像出現。為此,一個簡單而有效的解決方案是將物件類型轉換為數組,如下所示:
$array = (array) $yourObject;
這種快速而骯髒的方法將產生一個數組,其中鍵作為成員變數名稱,值作為對應的成員變數名稱。對象屬性。值得注意的例外包括不可存取的整數屬性、帶有前綴的受保護變數 ('*') 和帶有前綴的私有變數 (' ' classname ' ')。
對於一個簡單的對象,其數組表示形式如下所示:
var_dump( (array) $object ); // Output array(2) { 'foo' => int(1) 'bar' => int(2) }
對於更複雜的對象,輸出可以包含空字節和特殊字元作為受保護和私有屬性的前綴,如下所示例如:
var_dump( (array) new Foo ); // Output array(3) { 'Foofoo' => int(1) '*bar' => int(2) 'baz' => class stdClass#2 (0) {} }
但是,需要注意的是,這種類型轉換方法不會深度轉換物件圖。它最適合 StdClass 物件或僅具有公共屬性的物件。有關深度鑄造選項和更詳細的見解,請參閱提供的文件和部落格文章連結。
以上是如何有效率地將 PHP 物件轉換為關聯數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!