在调用getInsights()方法时,它给出了一个object.so我想从中访问一些数据。 这是api电话
$account->getInsights($fields, $params);
echo '<pre>';print_r($resultArr);die;
它会产生像
这样的结果FacebookAds \ Cursor对象 ( [回复:受保护] =&gt; FacebookAds \ Http \ Response Object ( [要求:受保护] =&gt; FacebookAds \ Http \ Request Object ( [client:protected] =&gt; FacebookAds \ Http \ Client Object ( [requestPrototype:protected] =&gt; FacebookAds \ Http \ Request Object (
提前致谢。
答案 0 :(得分:2)
以下内容应该有效:
$resultArr = $account->getInsights($fields, $params)[0]->getData();
echo '<pre>';
print_r($resultArr);
die;
如果光标中有多个对象,则可以循环遍历它:
foreach ($account->getInsights($fields, $params) as $obj) {
$resultArr = $obj->getData();
echo '<pre>';
print_r($resultArr);
}
die;
在这种情况下,如果默认情况下将implicitFetch选项设置为true,则使用:
Cursor::setDefaultUseImplicitFetch(true);
你将确定你正在循环所有的结果。
答案 1 :(得分:2)
我使用这段代码,它对我有用,我希望对你有用......
$adset_insights = $ad_account->getInsights($fields,$params_c);
do {
$adset_insights->fetchAfter();
} while ($adset_insights->getNext());
$adsets = $adset_insights->getArrayCopy(true);
答案 2 :(得分:0)
不确定我的方法是否不同于Angelina的方法,因为它是SDK的不同区域,还是因为自从她回答以来已被更改,但是下面的代码对我有用,并且希望对其他人有用:< / p>
([0,1] == arr).all(axis = 1).any()
调用getArrayCopy返回一个AbstractObjects数组,然后调用getData返回一个对象props数组。
答案 3 :(得分:0)
也许尝试:
$insights = $account->getInsights($fields, $params);
$res = $insights->getResponse()->getContent();
然后去找普通的东西:
print_r($res['data']);