我必须创造一个自动天气,包括雨,雪,云,雾和阳光。
根据季节的不同,我需要为所有天气设置一个百分比:预测将在一天内更新3到4次。
实施例: 冬天|降雨:30%雪:30%晴天:10%多云:10%,雾:20%
我不知道如何根据百分比实现随机条件。一些帮助?
非常感谢和抱歉我的英语不好。
答案 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 . "° F";
?>