PHP for converting an object to an array
Convert an Object to an Array in PHP
To convert an object to an array in PHP, you can use the toArray()
method of the object. This method will return an array representation of the object, with the keys being the property names and the values being the property values.
For example, the following code converts a stdClass
object to an array:
$object = new stdClass();
$object->name = 'John Doe';
$object->age = 30;
$array = $object->toArray();
print_r($array);
This will output the following array:
Array
(
[name] => John Doe
[age] => 30
)
The toArray()
method can be used with any object that implements the ArrayAccess
interface. This includes the following built-in classes:
stdClass
ArrayObject
SimpleXMLElement
You can also use the toArray()
method with custom objects that you create. To do this, you simply need to implement the ArrayAccess
interface in your class.
The ArrayAccess
interface has the following methods:
offsetExists(mixed $offset): bool
offsetGet(mixed $offset): mixed
offsetSet(mixed $offset, mixed $value): void
offsetUnset(mixed $offset): void
These methods allow you to access the properties of your object as if it were an array.
For example, the following code defines a custom class that implements the ArrayAccess
interface:
class Person implements ArrayAccess
{
private $name;
private $age;
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
public function offsetExists($offset): bool
{
return isset($this->$offset);
}
public function offsetGet($offset): mixed
{
return $this->$offset;
}
public function offsetSet($offset, $value): void
{
$this->$offset = $value;
}
public function offsetUnset($offset): void
{
unset($this->$offset);
}
}
This class can be used to convert an object to an array using the toArray()
method:
$person = new Person('John Doe', 30);
$array = $person->toArray();
print_r($array);
This will output the following array:
Array
(
[name] => John Doe
[age] => 30
)
The toArray()
method is a convenient way to convert an object to an array. It is especially useful when you need to pass an object to a function or method that expects an array.