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

如何在PHP中將物件轉換為關聯數組

藏色散人
藏色散人原創
2019-01-22 15:19:354245瀏覽

物件是類別的實例。它只是一個類別的樣本,並分配了一個記憶體。 Array是一種資料結構,它在一個名稱中儲存一個或多個類似類型的值,但關聯數組與簡單的PHP數組不同。包含字串索引的陣列稱為關聯數組。它將元素值與鍵值相關聯而不是以線性索引順序儲存。

如何在PHP中將物件轉換為關聯數組

方法1

使用json_decode和json_encode方法: json_decode函數接受JSON編碼的字串並將其轉換為PHP變量,另一方面json_encode傳回給定值的JSON編碼字串。

句法:

$myArray = json_decode(json_encode($object), true);

範例:

<?php 
class sample { 
      
    /* 成员变量 */
    var $var1; 
    var $var2; 
      
    function __construct( $par1, $par2 )  
    { 
        $this->var1 = $par1; 
        $this->var2 = $par2; 
    } 
} 
  
//创建的对象 
$myObj = new sample(1000, "second"); 
echo "转换前: \n"; 
var_dump($myObj); 
  
// 将对象转换为关联数组
$myArray = json_decode(json_encode($myObj), true); 
echo "转换后: \n"; 
var_dump($myArray); 
?>

#輸出:

转换前: 
object(sample)#1 (2) {
  ["var1"]=>
  int(1000)
  ["var2"]=>
  string(6) "second"
}
转换后: 
array(2) {
  ["var1"]=>
  int(1000)
  ["var2"]=>
  string(6) "second"
}

方法2

類型轉換物件到陣列:類型轉換是將一個資料類型變數轉換為不同資料類型的一種方法,它只是資料類型的明確轉換。它可以使用PHP中支援的類型轉換規則將PHP物件轉換為陣列。

句法:

$myArray = (array) $myObj;

範例:

<?php 
class bag { 
      
    /* 成员变量 */
    var $item1; 
    var $item2; 
    var $item3; 
      
    function __construct( $par1, $par2, $par3)  
    { 
        $this->item1 = $par1; 
        $this->item2 = $par2; 
        $this->item3 = $par3; 
    } 
} 
  
// 创建myBag对象 
$myBag = new bag("Mobile", "Charger", "Cable"); 
echo "转换前: \n"; 
var_dump($myBag); 
  
// 将对象转换为数组
$myBagArray = (array)$myBag; 
echo "转换后: \n"; 
var_dump($myBagArray); 
?>

#輸出:

转换前: 
object(bag)#1 (3) {
  ["item1"]=>
  string(6) "Mobile"
  ["item2"]=>
  string(7) "Charger"
  ["item3"]=>
  string(5) "Cable"
}
转换后: 
array(3) {
  ["item1"]=>
  string(6) "Mobile"
  ["item2"]=>
  string(7) "Charger"
  ["item3"]=>
  string(5) "Cable"
}

本篇文章就是關於PHP將物件轉換為關聯數組的方法介紹,也很簡單,希望對需要的朋友有幫助!

以上是如何在PHP中將物件轉換為關聯數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn