php 解码JSON一次并显示数据

icnyk63a  于 2023-02-28  发布在  PHP
关注(0)|答案(1)|浏览(159)

好吧,从一开始。我有一个API的链接,我从那里下载数据到网站:

<?php
$api = file_get_contents('LINK DO API');
$decoded_json = json_decode($api, true);
$data = $decoded_json['data'];
$dane = $data['temp_and_humidity_ch3']['temperature'];
  
{
  echo $dane['value'].$dane['unit'];
}
?>

它工作了,一切都显示出来了。问题是我有19个这样的数据要下载和显示。当我插入相同的代码19次,只改变显示的参数,页面加载不到一秒,几乎需要8秒...我不知道如何做到这样一种方式,整个事情只下载一次,然后只显示,没有重新解码JSON。

bzzcjhmw

bzzcjhmw1#

据我所知,一个API调用就可以返回你需要的所有值。当然我不能测试这个,但是试试下面的代码:

<?php

$json = file_get_contents('LINK DO API');
$data = json_decode($json)->data;

echo '<pre>';
print_r($data);
echo '</pre>';

foreach (range(1, 8) as $channelNo) {
  $temperature = $data->{'temp_and_humidity_ch' . $channelNo}->temperature;
  echo "ChannelchannelNo {$temperature->value}{$temperature->unit}<br>";
}

此代码应首先显示API返回的所有数据,然后通过一次API调用给予所有8个通道的温度读数。

相关问题