如何生成自动天气?

时间:2010-10-23 13:50:45

标签: php weather

我必须创造一个自动天气,包括雨,雪,云,雾和阳光。

根据季节的不同,我需要为所有天气设置一个百分比:预测将在一天内更新3到4次。

实施例: 冬天|降雨:30%雪:30%晴天:10%多云:10%,雾:20%

我不知道如何根据百分比实现随机条件。一些帮助?

非常感谢和抱歉我的英语不好。

2 个答案:

答案 0 :(得分:2)

嗯,你可以使用:

$location = 'Rome';
$document = file_get_contents(str_replace(" ", "+", "http://api.wunderground.com/auto/wui/geo/WXCurrentObXML/index.xml?query=".$location));
$xml = new SimpleXMLElement($document); 
echo "$location: ".$xml->temp_c."° C"; 

只需查看XML并查看您可用的数据。

修改

我不明白OP第一次想要什么。基本上,它更容易。

$weather = mt_rand(0,100);
$season = 'winter';
switch($season) {
    case 'winter': {
        if ($weather < 30) {
            $output = 'Rainy';
        } else if ($weather >=30 && $weather < 60) {
            $output = 'Snowy';
        }
        // goes on on the same ideea of testing the value of $weather
        break;
    }
    // other seasons 
} 

echo $output;

我建议强硬的是保持你的数值(例如季节)以及有一种天气或其他天气的机会值。

array (
   [winter] => array (
       [30] => 'Rainy',
       [60] => 'Snowy',
       ... // the other chances of weather
   ),
   [spring] => array (
       ...
   ), 
   ... // and so on
)

使用mt_rand(0,100)获取随机值和上面的数组以确定天气。

如果这对你有用,请告诉我。

答案 1 :(得分:2)

Claudiu 给出了很好的答案,但是如果你想用华氏(F)查看可能的例子下面:

 <?php
 $location = 'Washington';
 $document = file_get_contents(str_replace(" ", "+", "http://api.wunderground.com/auto/wui/geo/WXCurrentObXML/index.xml?query=" . $location));
 $xml = new SimpleXMLElement($document);
 echo $xml->temp_f . "&deg; F";
 ?>