PhP从巨大的字符串创建数组

时间:2013-05-12 16:54:51

标签: php arrays string explode

我正在使用:

从WoW Armory API中检索一个巨大的字符串
$allAchievements = file_get_contents('http://us.battle.net/api/wow/data/character/achievements');

返回:

http://us.battle.net/api/wow/data/character/achievements

我正在尝试将其转换为可管理的格式,例如类似于:

的数组
[achievements]=> array
             (
            [0]=> Array 
               (
                [id]=>6, 
                [title]=>Level 10, 
                [points]=>10, 
                [description]=>Reach Level 10.,
                [rewardItems]=>[],
                [icon]=>achievement_level_10,
                [criteria]=>[],
                [accountWide]=>false,
                [factionId]=>2,
                )
            [1]=> Array 
               (
                [id]=>7, 
                [title]=>Level 20, 
                [points]=>10, 
                [description]=>Reach Level 20.,
                [rewardItems]=>[],
                [icon]=>achievement_level_20,
                [criteria]=>[],
                [accountWide]=>false,
                [factionId]=>2,
                ) 
               ... 
              )

我尝试了很多explode()和parse_str()的组合,但是我无法创建任何类型的数组,这对我来说是有用的。

有没有办法使用file_get_contents();这样一个数组将被返回而不是一个字符串?

如果没有,我应该从哪里开始将这个巨大的字符串扩展为可管理的数组?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

使用此

$allAchievements = file_get_contents('http://us.battle.net/api/wow/data/character/achievements');
$newArray = json_decode($allAchievements, true);