我可以轻松地探索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 ... :) ps。我一直在寻求帮助,但还没有找到解决方案。
不能使用$ something [n],因为它们不是总是在同一个地方#34;所以只有正确的解决方案是这样的:
我正在寻找类似的东西:
if 'name' is 'Joanna':
print value of 'value'
答案 0 :(得分:1)
您可以使用$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'])
。
答案 1 :(得分:0)
您需要更新Variable
的命名范围foreach($json_a['somwhere'][1]['somwhere_deeper'] as $key => $value){
echo $key." : ".$value
}
上述代码的输出将是类似的 约翰:15 约翰娜:23
foreach(array as key => value)
{
//key represent array key
//value represent value of that array
}
如有任何疑虑,请与我联系。