首页 > 解决方案 > Mailchimp JSON 使用 PHP foreach 和多个键

问题描述

我正在使用 Mailchimp API 并获取他们的用户活动。从数组中,我必须获取第campaign_id = 1ce6d076f4一个,然后将Campaign ID匹配到所有具有的数组,action = click以便我可以获得url. 这是 mailchimp 的 JSON 数组。

Array
(
    [0] => stdClass Object
        (
            [action] => click
            [timestamp] => 2019-11-12T03:08:40+00:00
            [url] => https://nasis.sb:8890/article/burlington-vermont-market-overview
            [campaign_id] => 1ce6d076f4
            [title] => Sample Campaign v2
        )

    [1] => stdClass Object
        (
            [action] => click
            [timestamp] => 2019-11-12T02:54:07+00:00
            [url] => https://nasis.sb:8890/property/walgreens-burlington-vermont?lid=*|HTML:LINKID|*
            [campaign_id] => 1ce6d076f4
            [title] => Sample Campaign v2
        )

    [2] => stdClass Object
        (
            [action] => open
            [timestamp] => 2019-11-12T02:33:55+00:00
            [campaign_id] => 1ce6d076f4
            [title] => Sample Campaign v2
        )

    [3] => stdClass Object
        (
            [action] => sent
            [timestamp] => 2019-11-12T02:33:40+00:00
            [type] => regular
            [campaign_id] => 1ce6d076f4
            [title] => Sample Campaign v2
        )

    [4] => stdClass Object
        (
            [action] => open
            [timestamp] => 2019-10-31T00:38:02+00:00
            [campaign_id] => fbe8dfde89
            [title] => Sample Campaign v1
        )

    [5] => stdClass Object
        (
            [action] => click
            [timestamp] => 2019-10-31T00:15:44+00:00
            [url] => https://nasis.sb:8890?lid=*|HTML:LINKID|*
            [campaign_id] => fbe8dfde89
            [title] => Sample Campaign v1
        )

)

我正在通过 wordpress 插件连接 mailchimp api。这是我的代码。但是,尝试显示 $x 时没有任何反应

$activityDetails = wp_remote_get( 'https://'.$dc.'.api.mailchimp.com/3.0/lists/'.$list_id.'/members/'.$subscriber_hash.'/activity', $args );
$body = json_decode( wp_remote_retrieve_body( $activityDetails ) );

// echo '<pre>'; print_r($body->activity); echo '</pre>';

foreach ( $body->activity as $act ) {

    if ( $act->campaign_id == '1ce6d076f4' ) {
        $x = $act->action;
    }

}

echo '<p> Campaign ID: ' . $x . '</p>';

更新

看来我已经开始工作了...

foreach ( $body->activity as $act ) {

    if ( $act->campaign_id == '1ce6d076f4' ) {

        if ( $act->action == 'click' ) {
            $x[] = $act->url;
        }

    }

}

echo '<pre>'; print_r($x); echo '</pre>';

// 输出

Array
(
    [0] => https://www.nasinvestmentsolutions.com/article/burlington-vermont-market-overview
    [1] => https://nasis.sb:8890/property/walgreens-burlington-vermont?lid=*|HTML:LINKID|*
)

标签: phparraysmailchimp

解决方案


推荐阅读