1

こんにちは、コールバックして再帰的に anArrayobjectを連想配列に変換するメソッドがありますが、残念ながら致命的なエラーが発生しています

PHP Fatal error:  Call to undefined method ArrayObject::toArray()

これが私の方法です

/**
 * Take an ArrayObject and recursively turn it into an array
 * 
 * @param bool $recursion
 * 
 * @return array
 */
public function toArray($recursion = false) 
{
    // just in case the object might be multidimensional
    if (true === $this->object) return $this->object->getArrayCopy();

    return array_map( function($item)
    {
        return is_object($item) ? $item->toArray(true) : $item;

    }, $this->object->getArrayCopy() );
}

そして、これがサンプルですArrayObject

ArrayObject Object
(
    [storage:ArrayObject:private] => Array
        (
            [profile] => ArrayObject Object
                (
                    [storage:ArrayObject:private] => Array
                        (
                            [list] => ArrayObject Object
                                (
                                    [storage:ArrayObject:private] => Array
                                        (
                                            [location] => 
                                            [network_name] => 
                                            [interests] => 
                                            [last_name] => 
                                            [url] => 
                                            [significant_other] => 
                                            [network_domains] => 
                                            [contact] => ArrayObject Object
                                                (
                                                    [storage:ArrayObject:private] => Array
                                                        (
                                                            [im] => ArrayObject Object
                                                                (
                                                                    [storage:ArrayObject:private] => Array
                                                                        (
                                                                            [provider] => 
                                                                        )

                                                                )

                                                            [email_addresses] => 
                                                        )

                                                )

                                        )

                                )

                        )

                )

            [messages] => ArrayObject Object
                (
                    [storage:ArrayObject:private] => Array
                        (
                            [list] => Array
                                (
                                    [0] => foo
                                    [1] => bar
                                    [2] => baz
                                )

                        )

                )

            [groups] => ArrayObject Object
                (
                    [storage:ArrayObject:private] => Array
                        (
                        )

                )

            [users] => ArrayObject Object
                (
                    [storage:ArrayObject:private] => Array
                        (
                        )

                )

        )

)
4

1 に答える 1