我在从 wunderground api 提取潮汐数据时遇到了一个小问题。当我使用下面的代码拉出一天中的退潮时间时,我一天得到了准确的答案,但第二天却得到了错误的答案:
<?
$json_url = 'http://api.wunderground.com/api/b2b4a1ad0a889006/tide/q/NJ/Wildwood.json';
// jSON String for request
$json_string = '[http://api.wunderground.com/api/b2b4a1ad0a889006/tide/q/NJ/Wildwood.json]';
// Initializing curl
$ch = curl_init( $json_url );
// Configuring curl options
$options = array(
CURLOPT_RETURNTRANSFER => true,
);
// Setting curl options
curl_setopt_array( $ch, $options );
// Getting results
$result = curl_exec($ch); // Getting jSON result string
$parsed_json = json_decode($result);
$parsed_data->stats; //this returns
$low_tide_time = $parsed_json->tide->tideSummary[8]->date->pretty;
echo $low_tide_time;
?>
原因很清楚。数组键(在本例中为 [8])并非每天都一致地分配给相同的潮汐数据类型(低潮)。所以今天 [8] 可能是与退潮时间相关联的数组键,但明天 [8] 将是分配给日出、月出等的数组键。
有没有办法使用每个循环来抓住退潮的时间?
谢谢!