PHP解析api-football接口JSON响应失败,寻求技术支持
问题排查:解析API-Football接口JSON数据失败
你的代码存在两个关键错误,导致无法正确输出主队和客队信息:
1. 数组层级遗漏
从你提供的var_dump/var_export结果能看到,接口返回的所有数据都嵌套在api顶级数组键下,但你的代码直接访问$data["fixtures"],跳过了api层级,无法定位到正确的数据节点。
2. 键名拼写错误
数据里球队名称的键是team_name(带下划线),但你代码里写成了teamname(无下划线),键名不匹配自然取不到对应的值。
修正后的代码
<?php $url = "https://api-football-v1.p.rapidapi.com/v2/fixtures/team/2939/next/10?rapidapi-key={API-Key}"; $request = wp_remote_get( $url ); if ( ! is_wp_error( $request ) ) { $body = wp_remote_retrieve_body( $request ); $data = json_decode( $body, true ); // 先判断数据节点是否存在,避免报错 if(isset($data['api']['fixtures'][0])){ echo $data["api"]["fixtures"][0]["league"]["name"] . '<br>'; echo $data["api"]["fixtures"][0]["homeTeam"]["team_name"] . '<br>'; echo $data["api"]["fixtures"][0]["awayTeam"]["team_name"]; } } ?>
额外建议
- 加入
isset()判断数据节点是否存在,避免因接口返回结构变化或请求失败导致PHP报错 - 用
<br>或其他HTML标签分隔输出内容,让结果更易读
内容的提问来源于stack exchange,提问作者Ashraf
相关产品推荐
相关产品推荐

