2015-02-06 94 views
0

我有一个非常大的JSON文件,我已经将其转换为数组。你看到下面的代码是在多维数组中查找具有'SELECTED'值的数组

var_dump($array['talents']) 

结果(对那些想知道,是的,这是我尝试使用暴雪娱乐的API)

也许我只是错过了那天在PHP学校,但我只是似乎无法记住或弄清楚如何获取这些深层数组内的值。或许更重要的是,注意两个'spec'字段 - 其中一个值为'SELECTED:BOOLEAN TRUE',另一个不是。基本上,我需要具有SELECTED值的数组中的NAME字段。

说实话,就像我喜欢在PHP中工作一样,这种多层次的思维现在是一种超越我的东西,我需要更多的经验。与此同时,任何人都可以给我一些提示,指针或直接的答案,以了解如何获得我需要的价值?

感谢您的时间!

array (size=2) 
    0 => 
    array (size=6) 
     'talents' => 
     array (size=6) 
      0 => 
      array (size=3) 
       ... 
      1 => 
      array (size=3) 
       ... 
      2 => 
      array (size=3) 
       ... 
      3 => 
      array (size=3) 
       ... 
      4 => 
      array (size=3) 
       ... 
      5 => 
      array (size=3) 
       ... 
     'glyphs' => 
     array (size=2) 
      'major' => 
      array (size=0) 
       ... 
      'minor' => 
      array (size=1) 
       ... 
     'spec' => 
     array (size=6) 
      'name' => string 'Frost' (length=5) 
      'role' => string 'DPS' (length=3) 
      'backgroundImage' => string 'bg-mage-frost' (length=13) 
      'icon' => string 'spell_frost_frostbolt02' (length=23) 
      'description' => string 'Freezes enemies in their tracks and shatters them with Frost magic.' (length=67) 
      'order' => int 2 
     'calcTalent' => string '120021.' (length=7) 
     'calcSpec' => string 'b' (length=1) 
     'calcGlyph' => string 'O' (length=1) 
    1 => 
    array (size=7) 
     'selected' => boolean true 
     'talents' => 
     array (size=6) 
      0 => 
      array (size=3) 
       ... 
      1 => 
      array (size=3) 
       ... 
      2 => 
      array (size=3) 
       ... 
      3 => 
      array (size=3) 
       ... 
      4 => 
      array (size=3) 
       ... 
      5 => 
      array (size=3) 
       ... 
     'glyphs' => 
     array (size=2) 
      'major' => 
      array (size=0) 
       ... 
      'minor' => 
      array (size=0) 
       ... 
     'spec' => 
     array (size=6) 
      'name' => string 'Fire' (length=4) 
      'role' => string 'DPS' (length=3) 
      'backgroundImage' => string 'bg-mage-fire' (length=12) 
      'icon' => string 'spell_fire_firebolt02' (length=21) 
      'description' => string 'Ignite enemies with balls of fire and combustive flames.' (length=56) 
      'order' => int 1 
     'calcTalent' => string '122012.' (length=7) 
     'calcSpec' => string 'Z' (length=1) 
     'calcGlyph' => string '' (length=0) 

回答

0

应该

print_r($array['talents'][0]); 
print_r($array['glyphs']['major']); 
+0

这正是我需要的,谢谢!出于某种原因,我对如何做到这一点心存疑虑。 – PeregrineStudios 2015-02-07 00:57:24

+0

当涉及到多种语言/语法并全部学习时,它们都很好。他们开始融入其中。 – Mayhem 2015-02-07 01:19:47