2015-02-06 92 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