You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Coinspot API获取比特币最新last价格?解决未定义索引错误

解决"未定义索引"错误,正确获取比特币的last价格

你遇到的问题核心是访问的索引路径不对,先拆解下你提供的JSON结构就能明白问题所在:

{"status":"ok","prices":{"btc":{"bid":"15500","ask":"15600","last":"15600"},"ltc":{"bid":"255.51","ask":"31.434513687425632","last":"274.99"},"doge":{"bid":"0.011001","ask":"0.0112","last":"0.011"}}}

可以看到,last这个键并不是直接在JSON的根节点下,而是嵌套在prices -> btc这个层级里的。你原来的代码直接写$json["last"],自然找不到这个索引,就会抛出"未定义索引"的错误。

正确的PHP代码实现

<?php
// 获取API数据
$url = "https://www.coinspot.com.au/pubapi/latest";
$getContent = file_get_contents($url);

// 先校验是否成功获取到内容
if (!$getContent) {
    echo "无法获取API数据,请检查网络或地址";
    exit;
}

// 将JSON解析为关联数组
$json = json_decode($getContent, true);

// 多一层校验,避免解析失败或数据结构异常
if ($json && $json["status"] === "ok" && isset($json["prices"]["btc"]["last"])) {
    // 按照正确的嵌套路径访问last价格
    echo "比特币当前last价格:" . $json["prices"]["btc"]["last"];
} else {
    echo "数据解析失败或未找到比特币的last价格";
}
?>

关键要点

  • 必须匹配JSON的层级结构:通过$json["prices"]["btc"]["last"]一步一步从根节点往下定位到目标值。
  • 增加了isset()判断和内容获取校验,能避免因为API返回异常、网络问题导致的额外报错,让代码更健壮。

内容的提问来源于stack exchange,提问作者Rosco verheij

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:46:07