我在SendinBlue Api上工作,以恢复我的电子邮件活动的统计数据。但问题是,我不能恢复一个对象,因为在一个“。对象的名称中。
下面是json:
[statistics] => stdClass Object
(
[statsByDomain] => stdClass Object
(
[gmail.com] => stdClass Object
(
[uniqueClicks] => 10
[clickers] => 130
[complaints] => 130
[sent] => 130
[softBounces] => 59
[hardBounces] => 48
[uniqueViews] => 59
[unsubscriptions] =>89
[viewed] => 130
[delivered] => 130
)
)
)但是我不明白如何恢复"statsByDomain“的对象。有人能帮我吗?
第一部分运行得很好,但我知道我想恢复"statsByDomain“中包含的所有对象,但我不知道该怎么做。
现在我可以一个接一个地恢复对象:
foreach($campagnes as $campagne){
echo "<br> UniqueClicks : " .$campagne['statistics']-> statsByDomain -> {'gmail.com'} -> uniqueClicks;
echo "<br> UniqueClicks : " .$campagne['statistics']-> statsByDomain -> {'gmail.fr'} -> uniqueClicks;
}发布于 2020-01-24 22:09:30
事实上,它工作得很好:
foreach($campagnes as $campagne){
echo $campagne["statistics"]->statsByDomain->{"gmail.com"}->uniqueClicks.PHP_EOL;
}编辑
foreach($campagnes as $campagne){
foreach($campagne["statistics"]->statsByDomain as $key=>$obj){
// $key = gmail.com or web.com or web2.org
echo $obj->uniqueClicks.PHP_EOL;
}
echo PHP_EOL;
}发布于 2020-01-24 22:29:42
在此代码片段中,$campagnes包含您的数据,并且应该清楚如何提取其中的任何部分:
$campagnes = (object)array(
'statistics' => (object)array(
'statsByDomain' => (object)array(
'gmail.com' => (object)array(
'uniqueClicks' => 10,
'clickers' => 130,
'complaints' => 130,
'sent' => 130,
'softBounces' => 59,
'hardBounces' => 48,
'uniqueViews' => 59,
'unsubscriptions' =>89,
'viewed' => 130,
'delivered' => 130
)
)
)
);
var_dump($campagnes);
var_dump($campagnes->statistics->statsByDomain-> {"gmail.com"}->uniqueClicks);https://stackoverflow.com/questions/59897616
复制相似问题