如何从 JSON API 的超过 1 页中获取数据并将它们放入 1 json 文件中 PHP?

How Can I Get Data From more then 1 page from JSON API and put them into 1 json file with PHP?

这是我的 API URL :

https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&per_page=250&page=1

我们可以让 page=2 AND page=3 等等... 我想从第 1 页到第 6 页获取数据,然后将它们全部放入 1 json 文件 file.json 中。 我正在使用下面的代码:

    for ($j=1;$j<=6;$j++){
    $coin_market_cap_url = 'https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&per_page=250&page='.$j;
    $coin_market_cap_result = json_decode(getCurlAgent($coin_market_cap_url, true), true);
    for ($i=0;$i<250;$i++){
        $coins[$i]['name']=$coin_market_cap_result[$i]['name'];
        $coins[$i]['symbol']=$coin_market_cap_result[$i]['symbol'];
    }
}
$coins = json_encode($coins);
if ($coins){
    file_put_contents("file.json", $coins);
}

我该如何解决这个问题?

谢谢

问题是您要替换 for 循环中的前 250 个条目

工作代码

<?php

$coins = [];
for ($j = 1; $j <= 6; $j++) {
    $coin_market_cap_url = "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&per_page=250&page={$j}";
    $coin_market_cap_result = json_decode(file_get_contents($coin_market_cap_url), true);
    foreach ($coin_market_cap_result as $coin) {
        $coins[] = [
            'name' => $coin['name'],
            'symbol' => $coin['symbol'],
        ];
    }
}

$coins = json_encode($coins);
if ($coins) {
    file_put_contents("file.json", $coins);
}