|
Как из php файла передать данные в переменную javascript
Через API получаю данные от стороннего сервиса. Структура ответа:
[ { ... “Latitude”: “<Широта>”, “Longitude”: “<Долгота>”, ... } ] С помощью php файла getdata.php прохожу по массиву и собираю все данные foreach ($response as $item) { $a = "[".$item['Latitude'].",".$item['Longitude']."]," ; $array = $array.$a ; } $list= substr($array, 0, -1); echo json_encode($list); Это список точек, который я хочу отобразить на карте с помощью Яндекс.Карты API. var myMap = new ymaps.Map('map', { ... points = [ [55.831903,37.411961], [55.763338,37.565466] ], } Как мне передать данные переменной $list в points? Вопрос по корректности кода в php? Он вроде выводит верные данные, но нужно ли делать json_encode и можно ли заменить substr($array, 0, -1); на что-то внутри foreach? |
$array не должен быть строкой, похожей на массив, сделайте переменную полноценным массивом, в строку JSON ее превратит json_encode
|
Можно пример как мне сделать массив из Latitude и Longitude в таком виде [55.831903,37.411961] ?
|
например, так:
$array = []; foreach ($response as $i){ $arr = [$item['Latitude'],$item['Longitude']]; array_push($array,$arr); } echo json_encode($array); |
foreach ($response as $item) в данном случае вообще некчемная операция. Если $response, это массив, вложения которого массивы хранящие значения координат, то вместо всего написанного достаточно json_encode($response).
|
структура ответа больше:
[ { “Id“: “<Id>”, “OwnerId”: ”<Owner_id>”, “CitiId”: “<Id города >”, “Number”: ”<номер >”, “Address”: ”<адрес >”, “Latitude”: “<Широта>”, “Longitude”: “<Долгота>”, } ] и еще более 20 полей. Можно тут обойтись без foreach ($response as $item) ? |
Цитата:
|
Ошибка syntax error, unexpected '[' в строке
$array = []; |
Цитата:
|
laimas,
ну не хочет человек передавать 20 лишних параметров клиенту) |
Часовой пояс GMT +3, время: 17:33. |
|