<MyRusakov.ru />

Программирование на Python с Нуля до Гуру

Программирование на Python с Нуля до Гуру

Данный курс научит Вас программировать на языке Python, который крайне желательно знать любому, кто хоть иногда имеет дело с компьютерами. Курс состоит из 6 разделов, в которых Вы с нуля освоите этот язык и сможете создавать самые разные программы для самых разных задач любой сложности.

К курсу прилагается множество упражнений и все исходники из уроков.

Наконец, Вы получите ещё несколько бонусов: "Создание калькулятора на Python", "Создание игры на Python" и "Правильная работа со справочником".

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Конвертирование массива в объект в PHP

Конвертирование массива в объект в PHP

Как известно PHP - это слаботипизированный язык, поэтому в нем большая часть преобразования типов осуществляются автоматически. Но иногда необходимо преобразовать один тип данных в другой, как например массив в объект.

Зачем это может понадобиться? Например, как известно в PHP есть суперглобальный массив $_REQUEST, который содержит все переменные переданные скрипту в url адресе. Так вот, эти данные нам необходимо предварительно очистить и привести к какому-то общему виду. Вот здесь-то можно использовать преобразование массива в объект в PHP.

В самом простом случаем преобразовать массив в объект в PHP можно следующим образом:

    $req = (object)$_REQUEST;

    // если нажата кнопка отправки формы
    if( $req -> btnSearch )
    {
        $cmd = '';
        switch($req -> type) {

            case 'phone':
                $cmd = Phone:class;

            case 'pc':
                $cmd = PC:class

        }

        print $cmd;
    }

Но это в том случае, если массив одномерный. А что, в массиве есть еще другие массивы? В этом случае нам поможет рекурсия:

<?php
    
    // функция рекурсивно преобразует массив в объект
    function array2object($array, &$obj)
    {
        foreach ($array as $key => $value)
        {
            if (is_array($value))
            {
                $obj->$key = new stdClass();
                array2object($value, $obj->$key);
            }
            else
            {
                $obj->$key = $value;
            }
        }
        
        return $obj;
    }


    function arrayToObject($array)
    {
        $object = new stdClass();
        return array2object($array,$object);
    }


    // многомерный массив
    $array = [
        'hello'  => '1',
        'open2'  => '2',
        'object' => [
                'obj' => 'inner',
                'inner3' => [
                    'object3' => 'Inner'
                ]
            ]
    ];

    // вызываем
    $req = arrayToObject($array);
    print_r($req);

Результат:

stdClass Object
(
    [hello] => 1
    [open2] => 2
    [object] => stdClass Object
        (
            [obj] => inner
            [inner3] => stdClass Object
                (
                    [object3] => Inner
                )

        )

)

Теперь можно обращаться к свойствам объекта следующим образом:

print $req -> object -> inner3 -> object3;

Вот таким образом, можно конвертировать (одномерный/многомерный) массив в объект в PHP.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.