php - 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|*
)
解决方案
推荐阅读
- refactoring - 稍微调整 Common Lisp 中成员函数的作用的最优雅的方法是什么?
- email - 我在 laravel 8 中收到此错误,当我在使用 jetstream 进行的用户身份验证中忘记密码发送邮件时
- python - 如果键匹配,如何用字典的值替换嵌套列表的元素?
- discord.js - 没有命令的 discord.js 前缀抛出错误
- amazon-web-services - Tomcat 管理器响应“失败 - 在上下文路径 [/InsuranceProvider] 部署应用程序,但上下文无法启动
- json - Golang 使用类型结构列表
- json - 如何使用来自 jenkins 工件的 groovy 解析 json 文件,以便将其输入到数据库中。将错误作为退出代码 (1) 或没有内容
- sql - 如何在 SQL 中删除层次结构树
- java - 由于帧缓冲区问题,处理无法运行示例草图
- django - 嗨 Django 社区,我在以超级用户身份从博客文章中删除个别评论时遇到问题?