将url响应(序列化数据)解析为php数组

时间:2017-07-18 07:24:36

标签: php serialization

我想要实现的是从下面的链接反序列化我获得的所有数据并将其转换为php数组

http://ip-api.com/php

我知道我可以使用php的unserialize()函数并传递序列化字符串来转换它。 如何将上述链接的响应转换为php数组?

谢谢

2 个答案:

答案 0 :(得分:0)

我通常使用curl从外部链接获取内容
请执行以下操作

$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_URL, 'http://ip-api.com/php');
$contents = curl_exec($c);
curl_close($c);
print_r(unserialize($contents));

您的结果数组将如下所示

  

Array([query] => 43.231.208.107 [region] => [timezone] => Asia / Kathmandu [org] => ClassicTech Pvt。[as] => AS55915 Classic Tech Pvt.Ltd 。[city] =>加德满都(Koteshwor)[zip] => [isp] => ClassicTech Pvt。[status] =>成功[lat] => 27.684499740601 [lon] => 85.34839630127 [country] =>尼泊尔[countryCode] => NP [regionName] =>中央区域)

如果你想清理代码,你也可以创建一个函数并传递url。

答案 1 :(得分:0)

您也可以使用file_get_contents()对此进行归档。

$result = file_get_contents('http://ip-api.com/php');
var_dump(unserialize($result));