所以我制作了这个脚本,基本上就是一个命令。
它的作用是,用户用$ arg定义命令“weather”,其中$ arg就是所说的。然后对得到的json进行解码,然后从json中只发送两个包。但是它说“位置”和“温度”是不确定的。
有人可以帮我解决这个问题吗?数据包获取正确发送但它不会显示数据包发送时的位置或温度。数据包sm =发送消息。
这是代码
if($cmd == 'weather'){
$file = file_get_contents('http://weather3.pricop.info/api.php?city=' . $arg);
$weather = json_decode($file, true);
$user->sendPacket("%xt%sm%-1%0%" . " Temperature for " . $weather["location"] . "%" . " will be " . $weather["temperature"] . "%");
}
答案 0 :(得分:2)
回复如下:
{"apiVersion":"1.0", "data":{ "location":"Pascagoula, MS", "temperature":"79", "skytext":"Mostly Cloudy", "humidity":"84", "wind":"6", "date":"2013-07-31", "day":"Wednesday" } }
返回的数据在data属性中包含location属性,因此您必须引用。它是
$weather["data"]["location"];
和
$weather["data"]["temperature"];