Convert an object to associative array in PHP
Last Updated :
11 Jul, 2025
An object is an instance of a class. It is simply a specimen of a class and has memory allocated. The array is the data structure that stores one or more similar types of values in a single name but an associative array is different from a simple PHP array. An array that contains a string index is called an associative array. It stores element values in association with key values rather than in linear index order.
Here we have some common methods
Method 1: Using json_decode and json_encode method
The json_decode function accepts JSON encoded string and converts it into a PHP variable on the other hand json_encode returns a JSON encoded string for a given value.
Syntax:
$myArray = json_decode(json_encode($object), true);
Example:
php
<?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: \n";
var_dump($myObj);
// Converting object to associative array
$myArray = json_decode(json_encode($myObj), true);
echo "After conversion: \n";
var_dump($myArray);
?>
OutputBefore conversion:
object(sample)#1 (2) {
["var1"]=>
int(1000)
["var2"]=>
string(6) "second"
}
After conversion:
array(2) {
["var1"]=>
int(1000)
["var2"]=>
string(6) "second"
} Method 2: Type Casting object to an array
Typecasting is the way to utilize one data type variable into the different data type and it is simply the explicit conversion of a data type. It can convert a PHP object to an array by using typecasting rules supported in PHP.
Syntax:
$myArray = (array) $myObj;
Example:
php
<?php
class bag {
/* Member variables */
var $item1;
var $item2;
var $item3;
function __construct( $par1, $par2, $par3)
{
$this->item1 = $par1;
$this->item2 = $par2;
$this->item3 = $par3;
}
}
// Create myBag object
$myBag = new bag("Mobile", "Charger", "Cable");
echo "Before conversion : \n";
var_dump($myBag);
// Converting object to an array
$myBagArray = (array)$myBag;
echo "After conversion : \n";
var_dump($myBagArray);
?>
OutputBefore conversion :
object(bag)#1 (3) {
["item1"]=>
string(6) "Mobile"
["item2"]=>
string(7) "Charger"
["item3"]=>
string(5) "Cable"
}
After conversion :
array(3) {
["item1"]=>
string(6) "Mobile"
["item2"]=>
string(7) "Charger"
["item3"]=>
string(5) "Cable"
} Method 3: Using get_object_vars() Function
The get_object_vars() function returns an associative array containing the properties of the given object.
Syntax:
$myArray = get_object_vars($object);
Example:
PHP
<?php
class car
{
/* Member variables */
var $make;
var $model;
var $year;
function __construct($make, $model, $year)
{
$this->make = $make;
$this->model = $model;
$this->year = $year;
}
}
// Create car object
$myCar = new car("Toyota", "Corolla", 2020);
echo "Before conversion: \n";
var_dump($myCar);
// Converting object to an associative array
$myCarArray = get_object_vars($myCar);
echo "After conversion: \n";
var_dump($myCarArray);
?>
OutputBefore conversion:
object(car)#1 (3) {
["make"]=>
string(6) "Toyota"
["model"]=>
string(7) "Corolla"
["year"]=>
int(2020)
}
After conversion:
array(3) {
["make"]=>
string(6) "Toyota"... PHP is a server-side scripting language designed specifically for web development. You can learn PHP from the ground up by following this PHP Tutorial and PHP Examples.