function weatherData($date_array){
$weather_array = [];
$url = "http://api.worldweatheronline.com/premium/v1/past-weather.ashx?key=#######&q=frankston&format=json&date=";
// Get cURL resource
array_pop($date_array);
foreach($date_array as $value){
$url2 = $url . $value;
$curl = curl_init();
// Set some options - we are passing in a useragent too here
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url2
));
// Send the request & save response to $resp
$resp = curl_exec($curl);
// Close request to clear up some resources
curl_close($curl);
$data = json_decode($resp);
$runningTotal = 0;
for ($i=0; $i < 7; $i++) {
$hourly_data = $data->data->weather[0]->hourly[$i]->precipMM;
$runningTotal += $hourly_data;
}
if($runningTotal >= 0.7){
array_push($weather_array, 'wet <img class="icon" src="images/icons8-Rain-26.png"/>');
} else{
array_push($weather_array, 'dry <img class="icon" src="images/images.png"/>');
}
}
return $weather_array;
好吧,所以我有这个功能会输出一系列的天气或者某些日期不是'湿'或'干',我的问题是如果我有120个日期我想做的话需要超过30天在页面加载时间内导致PHP出现严重错误,所以我需要一些方法将这些同步卷曲请求带到某种异步形式谢谢!
P.S。对于那个无用的缩进感到抱歉
答案 0 :(得分:0)
注意:这不是关于加快请求的速度。采用完全不同的方法,但它肯定能解决您的PHP超时错误。
建议的解决方案:
这是一个更广泛的问题。需要大量的技术解释和实施假设。我将尝试列出以下要点: