PHP 中的物件轉換為陣列。
在 PHP 應用程式中,我們使用各種格式的資料,例如字串、陣列、物件等等……在即時應用程式中,我們可能需要以關聯陣列的形式讀取 PHP 物件結果以獲得所需的輸出。
因此,我們將在此討論如何將 PHP 物件轉換為 PHP 中的關聯陣列。
讓我們解釋一下 PHP 中的物件和關聯陣列是什麼?物件是類的例項,這意味著您可以從一個類建立多個物件。它只是一個類的樣本,並分配了記憶體。另一方面,陣列中包含字串作為索引的陣列稱為關聯陣列。它包含鍵值對,其中值與其各自的鍵關聯。
現在讓我們討論將物件轉換為陣列的各種方法。
方法一
利用 json_decode 和 json_encode 技術
最初,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() 表示式中,我們只是列印物件,但在第二種情況下,我們使用型別提示過程將物件提示為陣列。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP