【问题标题】:php using file_get_contents with an arrayphp 使用带有数组的 file_get_contents
【发布时间】:2018-01-01 22:30:27
【问题描述】:

我正在尝试从以下网址提取值:https://api.binance.com/api/v1/ticker/allPrices

我想要完成的事情: 获取网站上打印的所有“符号”值(一个在另一个下)

我正在寻找的结果是:

ETHBTC
LTCBTC
...

这是我到目前为止所做的:

<?php
$url = "https://api.binance.com/api/v1/ticker/allPrices";
$content = file_get_contents($url);
$json_data = json_decode($content, true);

for ($i=0; $i < count($json_data); $i++) { 
    # code...
    print_r($json_data);
}
?>

它带来的结果是整个数据(符号、价格以及其他不相关的数据)。

提前致谢。

【问题讨论】:

    标签: php api file-get-contents


    【解决方案1】:

    你可以使用foreach循环,然后通过symbol键回显值

    $url = "https://api.binance.com/api/v1/ticker/allPrices";
    $content = file_get_contents($url);
    $json_data = json_decode($content, true);
    
    foreach ($json_data as $value) {
        echo $value["symbol"] . '<br>';
    }
    

    【讨论】:

    • 嗨欧文。如果不是所有的完整值列表,它将如何工作。我只想获取数组中的一项?例如,第一个数组项。 echo $value["symbol[0]"] 之类的东西?
    • 如果只需要一个值,可以跳过循环直接打印。例如。 echo $json_data[0]["symbol"]; 其中,[0] 表示$json_data中的第一组数组
    【解决方案2】:

    应该这样做:

    <?php
    $url = "https://api.binance.com/api/v1/ticker/allPrices";
    $content = file_get_contents($url);
    $json_data = json_decode($content, true);
    
    for ($i=0; $i < count($json_data); $i++) {
        echo $json_data[$i]['symbol'] . "\n";
    }
    ?>
    

    【讨论】:

    • 嗨,克里斯,如果我不想在网站上显示所有列表值,而只是想显示特定的列表值,它将如何工作?示例:我想显示符号为“LTCBTC”的数组项
    【解决方案3】:
    json_data["symbol"] 
    

    而不是在打印中

    【讨论】:

    • 喜欢这个? print_r($json_data["symbol"]);
    • 不起作用注意:未定义索引:第 26 行中的符号
    猜你喜欢
    • 1970-01-01
    • 2012-03-20
    • 2022-08-19
    • 2018-03-24
    • 1970-01-01
    • 2021-04-15
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多