在多维数组中查找具有 'SELECTED' 值的数组
Find Array With 'SELECTED' Value Inside Multidimensional Array
我有一个非常大的 JSON 文件,我已将其转换为数组。您在下面看到的代码是
的结果
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)
应该是
print_r($array['talents'][0]);
print_r($array['glyphs']['major']);
我有一个非常大的 JSON 文件,我已将其转换为数组。您在下面看到的代码是
的结果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)
应该是
print_r($array['talents'][0]);
print_r($array['glyphs']['major']);