Ошибка при прохождении элемента JSON и получении его значений - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть файл JSON, скажем, что-то вроде этого ...

{
    ...{
     },
    "notifications": {
        "satisfactory_record":"satisfactory record",
        "invalid_token" : "Invalid Token",
        ...
    },
    "faq": {
        "title" : "Frequently asked questions",
        "questions": [
            {
                "title" : "What is...?",
                "content" : "This is..."
            },
            {
                "title" : "What is...?",
                "content" : "This is..."
            },
            {
                "title" : "What is...?",
                "content" : "This is..."
            },
            ...
        ]
    }
}

И я хочу взять объект "faq" и напечатать заголовок и содержимое "questions" на странице faq.php, используя цикл или итератор:

<?php

echo "<ul>";

$json = json_decode(file_get_contents('file.json'), true); // Array
$questions = $json['faq']['questions'];

foreach($questions as $question){

    echo "<li>";
    echo "<span>$question['title']</span>";
    echo "<p>$question['content']</p>";
    echo "</li>";
}

echo "</ul>";

?>

Но это не работает, потому что выдает мне следующую ошибку: Warning: Invalid argument supplied for foreach()

Это результат, который я хочу:

enter image description here

Примечание: я использую ассоциативный массив вместо объекта по коллективному соглашению, пожалуйста, не отвечайте, предлагая мне преобразовать JSON в объект вместо массива.

...