【问题标题】:Use php variable index for retriving data from json使用 php 变量索引从 json 中检索数据
【发布时间】:2015-05-23 18:05:32
【问题描述】:

这是我的json

在php中

$json = json_decode($finalAppData, true); // decode the JSON into an associative array


//suppose this is $link = ['appInfo']['items'][0]['screen']['items'][0]['screen']['items'][0];

此代码无效。

echo $json .$link."['screen']['menuHeader']";

产生输出为

Array['appInfo']['items'][0]['screen']['items'][0]['screen']['items'][0]['screen']['menuHeader'].

但我想要如果我简单地使用就可以看到的文本值

echo $json['appInfo']['items'][0]['screen']['items'][0]['screen']['items'][0]['screen']['menuHeader'];

如何使用存储在变量中的索引从php中的json输出数据。

【问题讨论】:

标签: php json codeigniter concatenation codeigniter-2


【解决方案1】:

这应该与您想要的相似:

$json = json_decode($finalAppData, true); 

$link = "['appInfo']['items'][0]['screen']['items'][0]['screen']['items'][0]";

# Method #1
eval("echo \$json${link}['screen']['menuHeader'];");

# Method #2
$item = "\$json${link}";
eval("echo ${item}['screen']['menuHeader'];");

eval() 获取一串 PHP 代码并对其进行解释。在这种情况下,嵌套键作为字符串存储在$link 中,然后与将被解释为$json 数组的字符串连接,从而生成一个PHP 代码字符串,该字符串将被发送到eval() 以进行解释.

【讨论】:

  • 当你回显 $link 时,你会得到这个 ['appInfo']['items'][0]['screen']['items'][0]['screen'][' items'][0] 我想要 $json 和 $link 和 "['screen']['menuHeader']" 来输出结果而不仅仅是数组。
  • 啊,好吧,我想我现在明白一点了。
  • 我根据您的说明更新了上述解决方案。它现在接受$json 变量、$link 变量和['string']['menuHeader'] 字符串。
  • @Grokify-非常感谢。如果该问题具有挑战性,请投票赞成。
  • @Grokify- 有什么办法可以将这个值放入变量 $item = "\$json${link}";并像 $item['screen']['menuHeader']; 一样使用它
猜你喜欢
  • 2021-09-16
  • 2021-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-13
相关资源
最近更新 更多