duanliujie8639 2010-10-23 13:50
浏览 46
已采纳

如何生成自动天气?

I have to create an automatic weather including rain, snow, clouds, fog and sunny.

Depending on the season I need to set a percentage for all weather: the forecast will be updated 3 or 4 times during a day.

Example: Winter | Rain: 30% Snow: 30% Sunny: 10% Cloudy: 10%, Fog: 20%

I do not know how to implement a random condition based on percentages. Some help?

Many thanks and sorry for my bad English.

  • 写回答

2条回答 默认 最新

  • dongyu4863 2010-10-23 13:54
    关注

    Well, you can use:

    $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"; 
    

    Just take a look on the XML and see what data you have available.

    EDIT

    I didn't understand what the OP wanted the first time. Basically, it's even easier.

    $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;
    

    What I suggest tough, is to keep your values in arrays (for example the seasons) as well as the values for chances to have one type of weather or another.

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

    Use mt_rand(0,100) to get a random value and the array above to determine the weather.

    Please let me know if this works for you.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏