Это мое 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.
Это должно быть похоже на то, что вы хотите:
$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()
быть истолкованным.
Других решений пока нет …