从数组创建PHP stdClass对象

从数组创建PHP stdClass对象,php,arrays,Php,Arrays,我正在尝试用PHP创建这种信息/数组格式 [OverrideEmailSettings] => stdClass Object ( [email@domain.com] => stdClass Object ( [Reports] => Array ( [0] => stdClass Object ( [ReportType] =>

我正在尝试用PHP创建这种信息/数组格式

[OverrideEmailSettings] => stdClass Object (
        [email@domain.com] => 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=与email@domain.com

$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;

但我认为我的格式不正确。

您需要将数组强制转换为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);

不清楚您试图从该对象访问什么数据,或者您试图如何访问它。请编辑您的问题以澄清。@johncode对不起,我放了send,我是说create。我正在尝试在PHPSome中创建数组和数据的格式,您称之为数组的是对象!!你需要施放你的数组ti标准类。看看这里:什么是
$account\u get\u user\u profile->OverrideEmailSettings->$line=$x应该实现什么?