从数组中获取Json密钥

时间:2015-06-06 13:45:36

标签: php json

所以我有一些JSON看起来像这样:

container.find(value)

我想要做的是在不使用索引的情况下获取 workshop3 ,所以我无法做到

$ JSON ["车间&#34] [2] [" workshop3"]

所以我的问题如何获得workshop3?如有必要,我可以重新设计Json文件。

2 个答案:

答案 0 :(得分:0)

你应该以这样的方式制作你的json字符串:

{"workshops":{
      "workshop1":{"id":1},
      "workshop2":{"id":2},
      "workshop3":{"id":3}}}

然后你可以避免索引

$json = json_decode($str, true);
var_dump( $json["workshops"]["workshop3"]);

结果:

array(1) {
  ["id"]=>
  int(3)
}

答案 1 :(得分:-1)

如果不重新设计JSON,您可以使用函数array_keys($json['workshops']),它返回键数组,例如:

$keys = ['workshops1', 'workshops2', 'workshops3'];
$keyName = $keys[2]; 
$workhopValue = $json['workshops'][$keyName];

但这是一个糟糕的解决方法,恕我直言。