Используйте индекс переменной php для извлечения данных из json

Это мое 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'];

Как можно использовать индекс, который хранится в переменной для вывода данных из JSON в PHP.

2

Решение

Это должно быть похоже на то, что вы хотите:

$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() быть истолкованным.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector