从数组创建PHP stdClass对象
我正在尝试用PHP创建这种信息/数组格式从数组创建PHP stdClass对象,php,arrays,Php,Arrays,我正在尝试用PHP创建这种信息/数组格式 [OverrideEmailSettings] => stdClass Object ( [email@domain.com] => stdClass Object ( [Reports] => Array ( [0] => stdClass Object ( [ReportType] =>
[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代码>应该实现什么?