Преобразование объекта в ассоциативный массив в PHP

Опубликовано: 4 Февраля, 2022

Объект - это экземпляр класса. Это просто образец класса с выделенной памятью. Массив - это структура данных, которая хранит один или несколько аналогичных типов значений с одним именем, но ассоциативный массив отличается от простого массива PHP. Массив, содержащий строковый индекс, называется ассоциативным массивом. Он хранит значения элементов вместе со значениями ключей, а не в линейном порядке индекса.

Метод 1. Использование метода json_decode и json_encode: функция json_decode принимает строку в кодировке JSON и преобразует ее в переменную PHP, с другой стороны, json_encode возвращает строку в формате JSON для заданного значения.

Синтаксис:

 $ myArray = json_decode (json_encode ($ object), истина);

Example:

<?php
class sample {
      
    /* Member variables */
    var $var1;
    var $var2;
      
    function __construct( $par1, $par2
    {
        $this->var1 = $par1;
        $this->var2 = $par2;
    }
}
  
// Creating the object
$myObj = new sample(1000, "second");
echo "Before conversion: ";
var_dump($myObj);
  
// Converting object to associative array
$myArray = json_decode(json_encode($myObj), true);
echo "After conversion: ";
var_dump($myArray);
?>
Output:

Before conversion: 
object(sample)#1 (2) {
  ["var1"]=>
  int(1000)
  ["var2"]=>
  string(6) "second"
}
After conversion: 
array(2) {
  ["var1"]=>
  int(1000)
  ["var2"]=>
  string(6) "second"
}