Я просто спросил этот вопрос Что касается того, как добиться этого в Javascript, но теперь мне интересно, как бы я это сделал в PHP. Как я могу вставить пары координат в массив? Я хочу, чтобы массив выглядел так:
[
[51.503454,-0.119562],
[51.499633,-0.124755]
]
И вот моя попытка (на практике это будет цикл for вместо определения статических переменных для координат):
<?php
$locations = array();
$lat = 51.503454;
$lng = -0.119562;
array_push($locations, $lat, $lng);
?>
Есть несколько способов сделать это.
Кратчайший:
array_push($locations, [$lat, $lng]);
альтернатива (просто другой синтаксис):
array_push($locations, array($lat, $lng));
легче читать / понимать, но две строчки:
$a = [$lat, $lng];
array_push($locations, $a);
без array_push:
$locations[] = array($lat, $lng);
возможно, вы хотите эту пару в качестве объекта?
$location = new stdClass();
$location->lat = $lat;
$location->long = $long;
$locations[] = $location;
Мне нравится использовать короткий синтаксис для массивов php:
$locations[] = [$lat, $lng]
работает с php 5.4
http://php.net/manual/en/language.types.array.php