在PHP 應用程式中,我們正在處理各種格式的數據,例如字串、陣列、物件等等...在即時應用程式中,我們可能需要以關聯形式讀取PHP 物件結果陣列以獲得所需的輸出。
因此我們將在這裡討論如何將 php 物件轉換為 PHP 中的關聯陣列。
讓我們解釋一下什麼是 PHP 中的物件和關聯陣列?物件是類別的實例,這意味著您可以從一個類別建立許多物件。它只是一個類別的一個樣本,並分配了記憶體。另一方面,由字串作為索引組成的陣列稱為關聯數組。它包含一個鍵值對,其中值與各自的鍵相關聯。
現在讓我們討論將物件轉換為陣列的各種方法。
最初 json_encode() 函數傳回給定值的 JSON 編碼字串。 json_decode() 函數將其轉換為 PHP 陣列。
<?php class student { public function __construct($firstname, $lastname) { $this->firstname = $firstname; $this->lastname = $lastname; } } $myObj = new student("Alex", "Stokes"); echo "Before conversion:".'</br>'; var_dump($myObj); $myArray = json_decode(json_encode($myObj), true); echo "After conversion:".'</br>'; var_dump($myArray); ?>
Before conversion: object(student)#1 (2) { ["firstname"]=> string(4) "Alex" ["lastname"]=> string(6) "Stokes" } After conversion: array(2) { ["firstname"]=> string(4) "Alex" ["lastname"]=> string(6) "Stokes" }
這裡我們建立了一個類別Student,並在該類別中宣告了一個__construct () 函數,函數在建立物件時執行。建構函式接收稍後在使用 new 關鍵字建立物件時提供的參數。在第一個 var_dump() 表達式中,我們列印對象,但在第二種情況下,我們藉助 json_decode 和 json_encode 技術將物件轉換為陣列。
#型別轉換是一種將一種資料型別變數利用為不同資料型別的方法,它只是資料型別的精確轉換。
<?php class bag { public function __construct( $item1, $item2, $item3){ $this->item1 = $item1; $this->item2 =$item2; $this->item3 = $item3; } } $myBag = new bag("Books", "Ball", "Pens"); echo "Before conversion :".'</br>'; var_dump($myBag); $myBagArray = (array)$myBag; echo "After conversion :".'</br>'; var_dump($myBagArray); ?>
Before conversion : object(bag)#1 (3) { ["item1"]=> string(5) "Books" ["item2"]=> string(4) "Ball" ["item3"]=> string(4) "Pens" } After conversion: array(3) { ["item1"]=> string(5) "Books" ["item2"]=> string(4) "Ball" ["item3"]=> string(4) "Pens" }
在這裡,我們創建了一個名為“bag”的類,在該類內部,我們聲明了一個__construct ()函數,函數在建立物件時執行。建構函數接收參數,這些參數在使用new關鍵字建立物件時提供。在第一個var_dump()表達式中,我們只是列印對象,但在第二種情況下,我們使用類型提示過程將對象強制轉換為數組。
以上是在PHP中將物件轉換為數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!