У меня есть файл json, который я хотел использовать в качестве базы данных просто потому, что мне нравится структура json, чем mysql php, у меня есть следующий код
$query = "people.json";
$json = file_get_contents($query);
$data = json_decode($json, true);
$faq = $data['FAQ'];
$questions = $faq['Questions']['Number'];
foreach($questions as $question){
$number = $question['number'];
$question = $question['question'];
$answer = $question['answer'];
?>
{
"FAQ":{
"Questions":{
"Number":{
"1":{
"number":"one",
"question":"How do i trade with Marketwh steam bots?",
"answer":"You can Trade one of 2 ways <br> Send a Trade offer to one of our Steam Bots <br> & #8226; find the item on our site see the price of it and then click trade and send a trade offer like normal."
},
"2":{
"number":"two",
"question":"What is a Steam Bot?",
"answer":"A Steam Bot is an automated Trading Bot that will automatcally accept offers sent to it that are within the item price range of buying or selling."
},
"3":{
"number":"three",
"question":"What is a Steam Bot?",
"answer":"A Steam Bot is an automated Trading Bot that will automatcally accept offers sent to it that are within the item price range of buying or selling."
},
"4":{
"number":"four",
"question":"",
"answer":""
},
"5":{
"number":"five",
"question":"",
"answer":""
}
}
}
}
}
$ number выводит "один"
$ question выводит вопрос
$ answer выводит первую букву в переменной вопроса, для первой буквы это «H», а для второго и третьего ответа - это «W».
как вы можете видеть в приведенном выше коде, у меня он есть в foreach, который должен циклически проходить через каждое из чисел 1-4 в массиве FAQ
Я использую это для вызова php для базы данных, я могу просто редактировать и изменять материал на моем веб-сайте, а FAQ - это страница часто задаваемых вопросов, которую я буду использовать






$ questions - это объект, а не список. Я ожидаю, что вам нужно изменить свой формат json, чтобы вопросы были в списке. Как следующее:
{
"FAQ": {
"Questions": {
"Number": [
{
"number": "one",
"question": "How do i trade with Marketwh steam bots?",
"answer": "You can Trade one of 2 ways <br> Send a Trade offer to one of our Steam Bots <br> & #8226; find the item on our site see the price of it and then click trade and send a trade offer like normal."
},
{
"number": "two",
"question": "What is a Steam Bot?",
"answer": "A Steam Bot is an automated Trading Bot that will automatcally accept offers sent to it that are within the item price range of buying or selling."
},
{
"number": "three",
"question": "What is a Steam Bot?",
"answer": "A Steam Bot is an automated Trading Bot that will automatcally accept offers sent to it that are within the item price range of buying or selling."
},
{
"number": "four",
"question": "",
"answer": ""
},
{
"number": "five",
"question": "",
"answer": ""
}
]
}
}
}
Неважно, это сработало, как я хотел, в первую очередь, так Не сработало, это было
Как сказал user3720435, обновите свой JSON, чтобы сделать Numberarray ([]) вместо Object ({}). Вы не можете перебирать объекты, как хотите, однако это может быть достигнуто с помощью массива. Пожалуйста, просмотрите следующую информацию по вашему конкретному вопросу.
У меня был в исходном вопросе
$query = "people.json";
$json = file_get_contents($query);
$data = json_decode($json, true);
$faq = $data['FAQ'];
$questions = $faq['Questions']['Number'];
foreach($questions as $question){
$number = $question['number'];
$question = $question['question'];
$answer = $question['answer'];
?>
Я изменил код в php вот так
$data = json_decode($json, true);
$questions = $data['FAQ']['Questions']['Number'];
foreach($questions as $quest){
$number = $quest['number'];
$question = $quest['question'];
$answer = $quest['answer'];
?>
Я вызвал $ question в foreach, и однажды после этого я изменил $ question в foreach на $ quest, и он исправил его, как только я понял, что это, вероятно, противоречиво, и json на исходный способ, о котором я спросил, и Я пробовал использовать [{}] способ сделать это как массив, но для этого нужен объект, и вывод такой же, как я хотел, спасибо за ответы, и я рад, что понял, что не так
хорошо, я понимаю, что такое [{}], но когда я вызываю значения, он говорит "Предупреждение: недопустимый аргумент для foreach ()"