У меня есть JS, который отправляет POST-запрос на PHP-контроллер. Код JS выглядит следующим образом:Доступ к объектам JSON в массиве PHP
$.ajax({
url: 'map-controller/coordcontroller.php',
data: {myData:JSON.stringify(myArray)},
type: 'post',
success: function(output) {
console.log(output);
}
});
На стороне сервера, $ _POST [ «MyData»] выглядит следующим образом:
[{"lat":36.8867497490586,"lng":-76.3046246767044},{"lat":36.88671756964517,"lng":-76.30381464958191}]
Как я понимаю, мои данные находятся в одном массиве элемента ($ _POST ["myData"]), содержащий ряд объектов, разделенных запятыми. Я пробовал json_decode(), но у меня есть ощущение, что он не работает, потому что мой объект данных фактически является массивом вместо фактических данных JSON.
Мой вопрос: как я могу получить доступ к каждому объекту в цикле? Или моя реализация ошибочна, и я должен изменить свой Javascript, чтобы отправить данные по-другому?
'json_decode()' будет возвращать другой массив, созданный из объекта json, вы можете просто его перевернуть с помощью 'foreach', есть ли что-нибудь еще в этом вопросе? – georoot
Я использовал эхо вместо var_dump, чтобы проверить успех json_decode(). Я теперь обнаружил, что json_decode() работает так, как ожидалось, и я пытаюсь вывести его неправильно. Спасибо. – FantasticSponge