关于php访问接口json获取数据问题


    $url = 'http://ip.ws.126.net/ipquery?ip=';
    @$city = get_curl($url . $ip);
    $city = json_decode($city, true);
    if ($city['city']) {
        $location = $city['province'] . $city['city'];
    } else {
        $location = $city['province'];
    }

我这个是通过函数get_curl访问并返回内容,json获取参数'city'和'province'的内容,我这个写的不行,来个正确代码示范
这是接口返回的内容:var lo="湖南省", lc="长沙市"; var localAddress={city:"长沙市", province:"湖南省"}
要输出province和city的内容

如果你不写那么你就再换一个请求地址,可以直接输出json对象的地址API接口
比如https://whois.pconline.com.cn/ipJson.jsp?ip=

用这种方式取数据,

$location = $city['province'];
$location = $city['city'];

试下这个


public function getIpInfo($ip = '119.29.142.237')
    {
        $url = "http://whois.pconline.com.cn/jsFunction.jsp?callback=jsShow&ip=" . $ip;
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        $output = curl_exec($ch);
        curl_close($ch);
        $info = iconv('GB2312', 'UTF-8', $output);
        preg_match_all("/[\x{4e00}-\x{9fa5}]+/u", $info, $regs);
        $ascription = join('', $regs[0]);
        return mb_substr($ascription, 0, 80, 'utf-8');
    }