根据城市名称查询最近天气状况

 /**
     * 天气
     * @param string $city
     * @return array
     */
    public function weather($city = '合肥')
    {
        //天气接口URL
        $urls = "http://wthrcdn.etouch.cn/weather_mini?city=" . $city;
        //得到URL中的内容
        $contents = file_get_contents("compress.zlib://" . $urls);
        //转化为json
        $data = json_decode($contents, true);
        $result['city'] = $data['data']['city'];
        $date = ['今天', '明天', '后天'];
        $patterns = "/\d+/";//结合正则获取字符串中数字

        foreach ($data['data']['forecast'] as $key => $value) {
            if ($key <= 2) {
                $low = explode(' ', $value['low']);
                $high = explode(' ', $value['high']);
                preg_match_all($patterns, $value['fengli'], $fengli);
                if (count($fengli[0]) == 1) {
                    $feng = $fengli[0][0];
                } else {
                    $feng = ($fengli[0][0] > $fengli[0][1]) ? $fengli[0][0] : $fengli[0][1];
                }

                $result['list'][] = [
                    'date' => $date[$key],
                    'type' => $value['type'],
                    'low' => $low[1],
                    'high' => $high[1],
                    'fengxiang' => $value['fengxiang'],
                    'fengli' => $feng . '级'
                ];
            }

        }
        $result['today'] = $result['list'][0];

        return hello_success('ok', $result);
    }

结果

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值