使用PHP foreach和多个键的Mailchimp JSON

我正在使用Mailchimp API并获取其用户活动。从数组中,我必须首先获取campaign_id = 1ce6d076f4,然后将广告系列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|*
)
ysw9232 回答:使用PHP foreach和多个键的Mailchimp JSON

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3119759.html

大家都在问