PHP 是一門非常有用的程式語言,有著強大的物件導向特性。在 PHP 中,我們可以方便地將物件轉換為陣列。本文將介紹 PHP 中物件轉數組的各種方法。
一、使用 get_object_vars() 函數
get_object_vars() 是一個 PHP 內建函數,用來取得物件的所有屬性及其值,並傳回一個陣列。此函數的語法格式如下:
array get_object_vars ( object $object )
其中,$object 表示要轉換的物件。
下面的範例程式碼示範如何將一個物件轉換為陣列:
class MyClass { public $name = '张三'; protected $age = 18; private $sex = '男'; } $myObj = new MyClass(); $arr = get_object_vars($myObj); print_r($arr);
這裡透過類別MyClass 建立了一個物件$myObj,並使用get_object_vars() 函數將其轉換為陣列$ arr,最後在控制台輸出該陣列。
結果如下所示:
Array ( [name] => 张三 )
可以看到,由於 $age 和 $sex 屬性的存取權限不同,因此只有 $name 被轉為了陣列。
二、使用 type casting(型別轉換)
除了使用內建函數外,我們還可以使用 PHP 中的型別轉換語法將物件轉換為陣列。類型轉換語法包括將變數前置為要轉換的資料類型的名稱,例如 (array)、(string)、(int) 等。
下面的範例程式碼中,我們使用(array) 將物件轉換為陣列:
class MyClass { public $name = '张三'; protected $age = 18; private $sex = '男'; } $myObj = new MyClass(); $arr = (array) $myObj; print_r($arr);
這裡與先前的範例不同的是,在將物件$myObj 轉換為陣列時,我們使用了(array) 類型轉換語法。
運行以上程式碼,將得到與先前所示的陣列相同的輸出結果。
三、使用 json_decode() 函數
除了使用 get_object_vars() 和 type casting,我們也可以使用 json_decode() 函數將物件轉換為陣列或關聯陣列。
json_decode() 函數可將JSON 字串轉換為PHP 陣列或關聯數組,因此如果我們將物件序列化為JSON 字串,然後再使用json_decode() 函數將其反序列化,即可將物件轉換為陣列或關聯數組。
下面的範例程式碼示範了這個過程:
class MyClass { public $name = '张三'; protected $age = 18; private $sex = '男'; } $myObj = new MyClass(); $jsonString = json_encode($myObj); $arr = json_decode($jsonString, true); print_r($arr);
這裡我們透過類別MyClass 建立了一個物件$myObj,並使用json_encode() 函數將其序列化為JSON 字串$ jsonString。接著,我們使用 json_decode() 函數將該字串解碼為關聯數組 $arr。
在 json_decode() 函數中,第二個參數設定為 true,表示解碼後傳回一個關聯陣列而非物件。如果該參數不設置,則傳回的是一個物件而非數組。
運行程式碼,將得到一個與先前範例相同的輸出結果。
總結
在 PHP 中,我們可以使用多種方式將物件轉換為陣列。 get_object_vars() 函數可以方便地將物件的所有屬性及其值轉換為數組,而 type casting 和 json_decode() 函數則可以將物件序列化為字串,然後透過轉換函數將其轉換為陣列。無論使用哪種方式,只要選用了適合當前場景的方法,就能輕鬆地將物件轉換為數組,更好地滿足業務需求。
以上是php怎麼將物件轉為數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版

Dreamweaver Mac版
視覺化網頁開發工具