Создать объект PHP stdClass из массива

Я пытаюсь создать этот формат информации/массива в PHP

[OverrideEmailSettings] => stdClass Object (
        [[email protected]] => stdClass Object (
            [Reports] => Array (
                    [0] => stdClass Object (
                            [ReportType] => 1
                            [SummaryFrequency] => Array (
                                [0] => stdClass Object (
                                        [FrequencyType] => 8011
                                        [SecondsPast] => 32400
                                )
                            )
                            [Filter] => stdClass Object (
                                [ClauseType] => and
                                [RuleField] => 
                                [RuleOperator] => 
                                [RuleValue] => 
                                [ClauseChildren] => Array (
                                    [0] => stdClass Object (
                                        [ClauseType] => 
                                        [RuleField] => BackupJobDetail.TimeSinceStarted
                                        [RuleOperator] => int_lte
                                        [RuleValue] => 86400
                                    )   
                                )
                            )
                    )
                )
            )
        )

Вот мой код - $line = the equivelent to [email protected]

$x = array(
        'Reports' => array(
            'ReportType' => '1',
            'SummaryFrequency' => array(
                'FrequencyType' => '8011',
                'SecondsPast' => '32400',
            ),
            'Filter' => array(
                'ClauseType' => 'or',
                'RuleField' => '',
                'RuleOperator' => '',
                'RuleValue' => '',
                'ClauseChildren' => array(
                    'ClauseType' => '',
                    'RuleField' => 'BackupJobDetail.TimeSinceStarted',
                    'RuleOperator' => 'int_lte',
                    'RuleValue' => '86400',
                ),
            ),
        ),
    );
    
$account_get_user_profile->OverrideEmailSettings->$line = $x;

Но я думаю, что я неправильно отформатировал его.

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

John Conde 20.12.2020 14:38

@JohnConde извините, я поставил «отправить», я имел в виду «создать». Я пытаюсь создать этот формат массива и данных в PHP

charlie 20.12.2020 14:39

Некоторые из того, что вы называете массивом, являются объектами!

RiggsFolly 20.12.2020 14:45

Вам нужно привести свой массив к стандартному классу. Смотрите здесь: phpize.online/…

Slava Rozhnev 20.12.2020 14:56

Чего должен добиться $account_get_user_profile->OverrideEmailSettings->$line = $x;?

El_Vanja 20.12.2020 15:01
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
5
165
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно привести свои массивы к stdClass, например:

<?php
$x = [
    "Reports" => [
        (object) [
            "ReportType" => "1",
            "SummaryFrequency" => [
                (object) [
                    "FrequencyType" => "8011",
                    "SecondsPast" => "32400",
                ],
            ],
            "Filter" => (object) [
                "ClauseType" => "or",
                "RuleField" => "",
                "RuleOperator" => "",
                "RuleValue" => "",
                "ClauseChildren" => [
                    (object) [
                        "ClauseType" => "",
                        "RuleField" => "BackupJobDetail.TimeSinceStarted",
                        "RuleOperator" => "int_lte",
                        "RuleValue" => "86400",
                    ],
                ],
            ],
        ],
    ],
];

print_r($x);

Посмотрите PHP онлайн код

Другие вопросы по теме