如何从数组/json结构中的键回显特殊值


How to echo special value from key in array/json structure

我可以很容易地探索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)

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

我知道它应该是简单的If语句,但我不确定这些键/值是如何工作的,这是一个简单的问题,但我是php的初学者…我正在寻求帮助,但还没有找到解决方案。

不能使用$something[n],因为它们并不总是在同一个"位置",所以唯一正确的解决方案是这样的:

我在找这样的东西:

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

您可以使用$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'])

你需要更新变量

的命名方式
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
}
如果有什么问题请告诉我。