Php 正在将文件\u get\u内容转换为IP详细信息的数组

Php 正在将文件\u get\u内容转换为IP详细信息的数组,php,arrays,ip,file-get-contents,Php,Arrays,Ip,File Get Contents,我的网站上有以下简单代码: $info = file_get_contents('http://freegeoip.net/json/'.$_SERVER['REMOTE_ADDR']); 如下所示: {"ip":"123.123.12.1","country_code":"GB","country_name":"United Kingdom","region_code":"ENG","region_name":"England","city":"London","zip_code":"LN1

我的网站上有以下简单代码:

$info = file_get_contents('http://freegeoip.net/json/'.$_SERVER['REMOTE_ADDR']);
如下所示:

{"ip":"123.123.12.1","country_code":"GB","country_name":"United Kingdom","region_code":"ENG","region_name":"England","city":"London","zip_code":"LN1","time_zone":"Europe/London","latitude":30.302,"longitude":-1.123,"metro_code":0}
我正在尝试将其转换为一个数组,以便我可以使用类似以下内容将此数据导入数据库:

$ip_address = $info['ip'];
$city = $info['city'];

等等。。。我曾尝试使用
$info[1]、$info[2]
,它只显示
{
文本的每个字符。有没有一种简单的方法可以做到这一点?

这是一种JSON格式,您可以使用
JSON\u decode()
函数将其转换为对象或数组。 所以你有:

$info = file_get_contents('http://freegeoip.net/json/'.$_SERVER['REMOTE_ADDR']); $info = json_decode($info, true); $info=文件\u获取\u内容('http://freegeoip.net/json/“.$”服务器[“远程地址]); $info=json_decode($info,true);
然后,正如您所说,您可以使用
$info['ip']
$info['city']
使用
json\u解码

$info_obj = json_decode($info);
现在$info_obj已经有了您想要的信息,您可以通过以下方式访问它:

$ip_address = $info_obj->ip;
$city = $info_obj->city;

绝对完美,只是需要朝正确的方向轻轻推一下。非常感谢!