首頁  >  文章  >  後端開發  >  在PHP中將物件轉換為數組

在PHP中將物件轉換為數組

WBOY
WBOY轉載
2023-09-09 17:53:081034瀏覽

在PHP中將物件轉換為數組

在PHP 應用程式中,我們正在處理各種格式的數據,例如字串、陣列、物件等等...在即時應用程式中,我們可能需要以關聯形式讀取PHP 物件結果陣列以獲得所需的輸出。

因此我們將在這裡討論如何將 php 物件轉換為 PHP 中的關聯陣列。

讓我們解釋一下什麼是 PHP 中的物件和關聯陣列?物件是類別的實例,這意味著您可以從一個類別建立許多物件。它只是一個類別的一個樣本,並分配了記憶體。另一方面,由字串作為索引組成的陣列稱為關聯數組。它包含一個鍵值對,其中值與各自的鍵相關聯。

現在讓我們討論將物件轉換為陣列的各種方法。

方法1:

利用 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:".&#39;</br>&#39;;
   var_dump($myObj);
   $myArray = json_decode(json_encode($myObj), true);
   echo "After conversion:".&#39;</br>&#39;;
   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 技術將物件轉換為陣列。

方法2:

使用型別轉換技術將物件轉換為陣列:

#型別轉換是一種將一種資料型別變數利用為不同資料型別的方法,它只是資料型別的精確轉換。

<?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 :".&#39;</br>&#39;;
   var_dump($myBag);
   $myBagArray = (array)$myBag;
   echo "After conversion :".&#39;</br>&#39;;
   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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除