如何将此字符串反序列化为key=>;的PHP数组;值对?

如何将此字符串反序列化为key=>;的PHP数组;值对?,php,arrays,Php,Arrays,我在以下位置调用脚本: 我需要将结果转换成PHP数组格式,就像我目前正在硬编码的那样: $googleFonts = array( "" => "None", "Abel"=>"Abel", "Abril+Fatface"=>"Abril Fatface", "Aclonica"=>"Aclonica", etc... ); 返回的php已序列化: a:320:{ i:0; a:3:{ s:

我在以下位置调用脚本:

我需要将结果转换成PHP数组格式,就像我目前正在硬编码的那样:

$googleFonts = array(
    "" => "None",
    "Abel"=>"Abel",
    "Abril+Fatface"=>"Abril Fatface",
    "Aclonica"=>"Aclonica",
    etc...
    );
返回的php已序列化:

a:320:{
    i:0;
    a:3:{
        s:11:"font-family";
        s:32:"font-family: 'Abel', sans-serif;";
        s:9:"font-name";
        s:4:"Abel";
        s:8:"css-name";
        s:4:"Abel";
        }
    i:1;
    a:3:{
        s:11:"font-family";
        s:38:"font-family: 'Abril Fatface', cursive;";
        s:9:"font-name";
        s:13:"Abril Fatface";
        s:8:"css-name";
        s:13:"Abril+Fatface";
        }

        etc...

如何将其转换为我的数组?

使用
取消序列化()

可以通过取消序列化数据(使用)然后对其进行迭代来完成此操作:

$fonts = array();

$contents = file_get_contents('http://phat-reaction.com/googlefonts.php?format=php');
$arr = unserialize($contents);

foreach($arr as $font)
{
    $fonts[$font['css-name']] = $font['font-name'];
}

根据您使用它的目的,最好缓存结果,这样您就不会在每次脚本运行时都获取外部数据。

这只是PHPs序列化格式。用于将其转回。+1感谢您的帮助!另外问一个关于如何缓存结果的问题。如果您有兴趣查看,这里是我的相关问题>