In PHP applications we are dealing with data in various formats such as strings, arrays, objects, etc... In real-time applications we may need to associate The form reads the resulting array of PHP objects to obtain the desired output.
So here we will discuss how to convert php object to associative array in PHP.
Let us explain what are objects and associative arrays in PHP? Objects are instances of classes, which means you can create many objects from a class. It's just a sample of a class with memory allocated. On the other hand, an array consisting of strings as indices is called an associative array. It contains a key-value pair, where values are associated with their respective keys.
Now let us discuss the various methods of converting an object into an array.
Initially the json_encode() function returns the JSON encoded string of the given value. The json_decode() function converts it to a PHP array.
<?php class student { public function __construct($firstname, $lastname) { $this->firstname = $firstname; $this->lastname = $lastname; } } $myObj = new student("Alex", "Stokes"); echo "Before conversion:".'</br>'; var_dump($myObj); $myArray = json_decode(json_encode($myObj), true); echo "After conversion:".'</br>'; 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" }
Here we create a class Student and declare a __construct in the class () function, which is executed when the object is created. The constructor receives parameters that are later provided when creating the object using the new keyword. In the first var_dump() expression we print the object, but in the second case we convert the object into an array with the help of json_decode and json_encode techniques.
Type conversion is a method of utilizing one data type variable into a different data type. It's just an exact conversion of the data type.
<?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 :".'</br>'; var_dump($myBag); $myBagArray = (array)$myBag; echo "After conversion :".'</br>'; 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" }
Here, we have created a class called "bag" and inside the class, we have declared a __construct () function, which is executed when the object is created. The constructor receives parameters, which are provided when creating an object using the new keyword. In the first var_dump() expression we just print the object, but in the second case we use a type hint procedure to cast the object to an array.
The above is the detailed content of Convert object to array in PHP. For more information, please follow other related articles on the PHP Chinese website!