2016-09-08 24 views
0

我得到了下面的字符串:unserialize.com他們是如何做到這一點

a:16:{i:0;s:1:"6";i:1;s:2:"12";i:2;s:1:"2";i:3;s:2:"11";i:4;s:1:"7";i:5;s:2:"10";i:6;s:2:"16";i:7;s:1:"5";i:8;s:1:"3";i:9;s:1:"1";i:10;s:2:"14";i:11;s:1:"8";i:12;s:2:"13";i:13;s:1:"9";i:14;s:1:"4";i:15;s:2:"15";} 

我不能使用

var_dump(json_decode($json)) 

,因爲它不返回任何東西。我發現了兩個網站,其中有一點有用: http://jsonlint.com/用於檢查對象是否有效(它不是)和http://www.unserialize.com/至極可以將json字符串「反序列化」回數組。

現在我想知道什麼是反序列化的json字符串。所以我可以在我的腳本中使用它。

回答

5

看起來像這是在序列化的形式。您需要在這裏使用unserialize()函數。在PHP

$input = 'a:16:{i:0;s:1:"6";i:1;s:2:"12";i:2;s:1:"2";i:3;s:2:"11";i:4;s:1:"7";i:5;s:2:"10";i:6;s:2:"16";i:7;s:1:"5";i:8;s:1:"3";i:9;s:1:"1";i:10;s:2:"14";i:11;s:1:"8";i:12;s:2:"13";i:13;s:1:"9";i:14;s:1:"4";i:15;s:2:"15";}'; 

var_dump(unserialize($input)); 
+0

現在,我真的覺得自己很蠢。謝謝!! – StuiterSlurf

1

使用反序列化功能

<?php 
echo '<pre>'; 
print_r(unserialize('a:16:{i:0;s:1:"6";i:1;s:2:"12";i:2;s:1:"2";i:3;s:2:"11";i:4;s:1:"7";i:5;s:2:"10";i:6;s:2:"16";i:7;s:1:"5";i:8;s:1:"3";i:9;s:1:"1";i:10;s:2:"14";i:11;s:1:"8";i:12;s:2:"13";i:13;s:1:"9";i:14;s:1:"4";i:15;s:2:"15";}')); 
?> 

https://eval.in/637790