Цикл через JSON-данные - PullRequest
0 голосов
/ 29 мая 2018

У меня есть скрипт, который генерирует JSON-данные с этим struture.Я пытаюсь сделать вывод, что это HTML-список с PHP, но теперь все получается правильно.

Это структура JSON:

{
  "msg": [
    "msg text 1",
    "msg text 2",
    "msg text 3",
    "msg text 4",
    "msg text 5",
    "msg text 6"
  ]
}

Мой PHP-код выглядит так:

$json = file_get_contents('my_json_file');
$results = json_decode($json);
$array = (array)$results;

foreach ($array as $key => $item){
        echo "Key: ".$key." Item: ".$item;
}

Вывод этого кода:

Key: msg Item: Array

Кто-нибудь, кто знает, что я должен отредактировать, чтобы получить это право?

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

используйте этот пример кода.

    $json = '{
        "msg": [
        "msg text 1",
        "msg text 2",
        "msg text 3",
        "msg text 4",
        "msg text 5",
        "msg text 6"
    ]}';

    $results = json_decode($json);
    $array = $results->msg;
    foreach ($array as $key => $item){
        echo "Key: ".$key." Item: ".$item;
    }
0 голосов
/ 29 мая 2018

Вы должны выполнить foreach на array['msg'], чтобы получить все элементы сообщений.в противном случае вы будете перебирать все свойства основного массива (в этом случае есть только msg)

$json = file_get_contents('my_json_file');
$results = json_decode($json);
$array = (array)$results;

foreach ($array['msg'] as $item){
        echo "Key: msg Item: ".$item;
}

Вывод будет:

Key: msg Item: msg text 1 
Key: msg Item: msg text 2
...

ЕслиВы все еще хотите перебрать основной массив и хотите напечатать содержимое msg, вы должны использовать print_r для печати содержимого массива

$json = file_get_contents('my_json_file');
$results = json_decode($json);
$array = (array)$results;

foreach ($array as $key => $item){
    echo "Key: ".$key." Item: ".print_r($item, true);
}

Вывод будет:

Key: msg Item: array [
    "msg text 1",
    "msg text 2",
    ...
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...