如何从阵列/ JSON结构关键

如何从阵列/ JSON结构关键

问题描述:

我可以伊斯利探索JSON例如回声特殊值:如何从阵列/ JSON结构关键

foreach($json_a['somwhere'][1]['somwhere_deeper'] as $something){ 
    var_dump($something); 
} 

此代码让我打印这样的事情:

C:\wamp64\www\dothejob.php:7: 
array (size=2) 
    'name' => string 'John' (length=17) 
    'value' => string '15' (length=4) 
C:\wamp64\www\dothejob.php:7: 
array (size=2) 
    'name' => string 'Joanna' (length=6) 
    'value' => string '23' (length=2) 
C:\wamp64\www\dothejob.php:7: 
array (size=2) 
    'name' => string 'John' (length=17) 
    'value' => string '55' (length=10) 
C:\wamp64\www\dothejob.php:7: 
array (size=2) 
    'name' => string 'Joanna' (length=11) 
    'value' => string '55' (length=5) 

所以我确定我在一个正确的地方,但现在的问题是如何只打印数组中的值,其中名称是乔安娜?

我知道它应该很容易如果声明,但我不知道这些键/值如何工作,它很容易的问题,但我是初学php ... :)。我正在寻求帮助,但还没有找到解决方案。

不能使用$什么[N],因为他们不是在百达相同的“地方”,因此,只有正确的解决方案是这样的:

我正在寻找这样的事情:

if 'name' is 'Joanna': 
print value of 'value' 
+2

可能重复的[从PHP中的JSON数组获取值](http://*.com/questions/17995877/get-value-from-json-array-in-php) –

+0

和许多mooooooooore ... –

您可以使用$something[n]因为你有一个关联数组:

foreach($json_a['somwhere'][1]['somwhere_deeper'] as $something){ 
    if ($something['name'] == 'Joanna') { 
     var_dump($something); 
    } 
} 

输出应该是:

C:\wamp64\www\dothejob.php:7: 
array (size=2) 
    'name' => string 'Joanna' (length=6) 
    'value' => string '23' (length=2) 
C:\wamp64\www\dothejob.php:7: 
array (size=2) 
    'name' => string 'Joanna' (length=11) 
    'value' => string '55' (length=5) 

当然,如果你想var_dump的值只,使用var_dump($something['value'])

+0

但我想输出看起来像 55只有 – degath

+0

然后使用'echo $ something ['value']',它会输出'2355'。 – roberto06

+0

是的,谢谢你的队友,你的太棒了!我会尽快接受答案:-) – degath

你需要更新上面的代码变

foreach($json_a['somwhere'][1]['somwhere_deeper'] as $key => $value){ 
    echo $key." : ".$value 
} 

输出的命名convension将会像 约翰:15 上帝是仁慈的:23

foreach(array as key => value) 
{ 
//key represent array key 
//value represent value of that array 
} 

让我知道,在任何顾虑的情况下, 。