Сделать первый элемент в массиве появиться на последнем элементе

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

У меня есть пример массива, но я не знаю, как я могу заставить мой выглядеть так же.

Я хотел создать многоугольник, используя координаты, и я нашел пример в сети который рисует многоугольник, используя массив. Ниже массив, который я нашел с сайта

$polygon = array("-50 30","50 70","100 50","80 10","110 -10","110 -30","-20 -50","-30 -40","10 -10","-10 10","-30 -20","-50 30");

Условие состоит в том, что первый и последний массив должны быть одинаковыми. И их пример из статических чисел.

В моем случае у меня есть динамический список координат из базы данных, и я хотел бы, чтобы он генерировал что-то похожее на приведенный выше пример.

Вот то, что я пытался, но это не похоже на работу. Мой код сейчас

$query_points = mysqli_query($link,"SELECT * FROM ec");
$row_points = mysqli_fetch_assoc($query_points);

$query_lastpoint = mysqli_query($link,"SELECT * FROM ec"$row_lastpoint = mysqli_fetch_assoc($query_lastpoint);

$longitude_last = $row_lastpoint['longitude'];
$latitude_last = $row_lastpoint['latitude'];
$polygon= array();
while ($row_points = mysqli_fetch_assoc($query_points))
{
$longitude_xx = $row_points['longitude'];
$latitude_yy = $row_points['latitude'];
$xx_yy = ''.$longitude_xx.' '.$latitude_yy.'';
$polygon[] = $xx_yy;

}
$polygon[] = "$longitude_last $latitude_last";

Это как из источника они используют переменную непосредственно как $polygon пока мой $polygon[]; и я не могу сказать $polygon = $polygon[];

Любая помощь?

0

Решение

Вы можете просто добавить его снова, если он уже там, это не будет иметь никакого значения

$array[]=  $array[0];

в противном случае вы можете сделать

if (end($array) != reset($array)) {  //add the first element here

http://php.net/manual/en/function.end.php

http://php.net/manual/en/function.reset.php

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]