Php stdClass对象和foreach循环-活动监视器api

Php stdClass对象和foreach循环-活动监视器api,php,api,foreach,campaign-monitor,Php,Api,Foreach,Campaign Monitor,我目前在campaign monitor api中工作 这是我的密码: require_once '../../csrest_general.php'; $auth = array('api_key' => 'xxxxxxxxxxxxxxxxxxxxxxxxx'); $wrap = new CS_REST_General($auth); $result = $wrap->get_clients(); echo "Result of /api/v3/clients\n<br

我目前在campaign monitor api中工作

这是我的密码:

require_once '../../csrest_general.php';

$auth = array('api_key' => 'xxxxxxxxxxxxxxxxxxxxxxxxx');
$wrap = new CS_REST_General($auth);

$result = $wrap->get_clients();

echo "Result of /api/v3/clients\n<br />";
if($result->was_successful()) {
    echo "Got clients\n<br /><pre>";
    var_dump($result->response);
} else {
    echo 'Failed with code '.$result->http_status_code."\n<br /><pre>";
    var_dump($result->response);
}
echo '</pre>';
如何将其放入foreach循环中?当我尝试以下方法时:

foreach($result->response as $entry) { echo $entry->ClientID; }
require_once '/csrest_lists.php';
$sList = new CS_REST_Lists(YOUR_CM_LIST_ID,YOUR_CM_ACCT_KEY);
$sSubscribers = $sList->get_active_subscribers()->response->Results; // return results
foreach($sSubscribers as $s) {
    echo $s->EmailAddress . "\t" . $s->Name . "\t" . $s->State . "\n";
}
我得到这个错误:

可捕获的致命错误:类CS\u REST\u Wrapper\u结果的对象无法转换为字符串


马克·巴特勒回答了这一问题,这要归功于他,因此我添加了他的解决方案:

一般来说,获取活动监视器结果的内容需要访问该方法返回的对象的response->results部分。不幸的是,API或文档并不清楚这一点,因为它们倾向于“打印”从方法调用返回的对象

例如,在列表中列出订阅者:

希望这对人们有用-谢谢danyo的提问-目前很少有这样的问题。
皮特

foreach($result->响应为$entry){echo$entry->ClientID;}
谢谢马克!您应该将其作为答案发布。如果您更喜欢使用数组,还可以将stdObject强制转换为数组--$result=(array)$result->response;
foreach($result->response as $entry) { echo $entry->ClientID; }
require_once '/csrest_lists.php';
$sList = new CS_REST_Lists(YOUR_CM_LIST_ID,YOUR_CM_ACCT_KEY);
$sSubscribers = $sList->get_active_subscribers()->response->Results; // return results
foreach($sSubscribers as $s) {
    echo $s->EmailAddress . "\t" . $s->Name . "\t" . $s->State . "\n";
}