我发现它不会因为这些代码而受到赞誉,但如果有人可以通过以下编码帮助我显示天气,我将不胜感激。我将非常感激。
$BASE_URL = "http://query.yahooapis.com/v1/public/yql";
$yql_query = 'select * from weather.forecast where woeid in (select woeid from geo.places(1) where text="sc")';
$yql_query_url = $BASE_URL . "?q=" . urlencode($yql_query) . "&format=json";
// Make call with cURL
$session = curl_init($yql_query_url);
curl_setopt($session, CURLOPT_RETURNTRANSFER,true);
$json = curl_exec($session);
// Convert JSON to PHP object
$phpObj = json_decode($json);
echo '<pre>';print_r($phpObj).'<pre>';
我只是想让这段代码显示一个特定地方的天气,其中包含一些我可以回音的变量
echo $city;
echo $temp;
像这样的东西。
非常感谢您宝贵的时间和善意的帮助
答案 0 :(得分:0)
对于Php对象:
$phpObj = json_decode($json); // converting to object
echo $phpObj->property_name;
对于Php阵列:
$phpArr = json_decode($json, true); // converting to array
echo $phpArr['index'];
答案 1 :(得分:0)
好吧,我得到它并分享代码,以便它可以用于寻找天气api的人
$BASE_URL = "http://query.yahooapis.com/v1/public/yql";
$yql_query = 'select * from weather.forecast where woeid in (select woeid from geo.places(1) where text="sc")';
$yql_query_url = $BASE_URL . "?q=" . urlencode($yql_query) . "&format=json";
//Make call with cURL
$session = curl_init($yql_query_url);
curl_setopt($session, CURLOPT_RETURNTRANSFER,true);
$json = curl_exec($session);
// Convert JSON to PHP object
$phpObj = json_decode($json);
echo $phpObj->query->results->channel->location->city.' Weather <br/>';
echo 'Current: '.$phpObj->query->results->channel->item->condition->text.', ';
echo sprintf("%0.0f", ($phpObj->query->results->channel->item->condition->temp - 32) * 5 / 9).'°C <br/>';
echo $phpObj->query->results->channel->item->forecast[0]->day.': ';
echo $phpObj->query->results->channel->item->forecast[0]->text.', ';
echo '<small>'.sprintf("%0.0f", ($phpObj->query->results->channel->item->forecast[0]->low - 32) * 5 / 9).'Min°C - </small>';
echo '<small>'.sprintf("%0.0f", ($phpObj->query->results->channel->item->forecast[0]->high - 32) * 5 / 9).'Max°C </small><br/>';
echo $phpObj->query->results->channel->item->forecast[1]->day.': ';
echo $phpObj->query->results->channel->item->forecast[1]->text.', ';
echo '<small>'.sprintf("%0.0f", ($phpObj->query->results->channel->item->forecast[1]->low - 32) * 5 / 9).'Min°C - </small>';
echo '<small>'.sprintf("%0.0f", ($phpObj->query->results->channel->item->forecast[1]->high - 32) * 5 / 9).'Max°C </small><br/>';