Convert an object to associative array in PHP
Last Updated :
01 Aug, 2021
An object is an instance of a class. It is simply a specimen of a class and has memory allocated. Array is the data structure that stores one or more similar type of values in a single name but associative array is different from a simple PHP array. An array which contains string index is called associative array. It stores element values in association with key values rather than in linear index order.
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 {
var $var1 ;
var $var2 ;
function __construct( $par1 , $par2 )
{
$this ->var1 = $par1 ;
$this ->var2 = $par2 ;
}
}
$myObj = new sample(1000, "second" );
echo "Before conversion: \n" ;
var_dump( $myObj );
$myArray = json_decode(json_encode( $myObj ), true);
echo "After conversion: \n" ;
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"
}
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 {
var $item1 ;
var $item2 ;
var $item3 ;
function __construct( $par1 , $par2 , $par3 )
{
$this ->item1 = $par1 ;
$this ->item2 = $par2 ;
$this ->item3 = $par3 ;
}
}
$myBag = new bag( "Mobile" , "Charger" , "Cable" );
echo "Before conversion : \n" ;
var_dump( $myBag );
$myBagArray = ( array ) $myBag ;
echo "After conversion : \n" ;
var_dump( $myBagArray );
?>
|
Output:
Before 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"
}
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.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...