user gravatar

Как в PHP преобразовать объект в массив

Преобразовать PHP объект в массив можно очень просто:

$array = (array) $objectToArray;

За счет чего это работает?

При преобразовании объекта в массив, вы получаете в качестве элементов массива переменные преобразуемого объекта.

(Документация с PHP.net).

У предыдущего примера есть свои минусы. Если вам нужно что-то более надежное, то вы можете создать простую функцию как предложено на Stackoverflow:

function object_to_array($data)
{
    if (is_array($data) || is_object($data))
    {
        $result = array();
        foreach ($data as $key => $value)
        {
            $result[$key] = object_to_array($value);
        }
        return $result;
    }
    return $data;
}