Как увеличить число с помощью PHP? [Дубликат]

Я думал, что я бы поставил это здесь, поскольку он, похоже, является популярной точкой посадки для тех, кто начинает использовать API Карт Google. Несколько маркеров, отображаемых на стороне клиента, вероятно, являются падением многих характеристик приложений сопоставления. Трудно тестировать, исправлять и в некоторых случаях даже устанавливать проблему (из-за различий в реализации браузера, оборудования, доступного клиенту, мобильных устройств, список продолжается).

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

Возможно, проще всего реализовать библиотеку markerclusterer . Основная реализация будет следующей (после импорта библиотеки):


Маркеры вместо добавления непосредственно к карте добавляются в массив. Затем этот массив передается в библиотеку, которая обрабатывает сложные вычисления для вас и прикрепляется к карте.

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

Другие версии доступны в Google.

Надеюсь, что это поможет некоторым из тех, кто новее к нюансам картографии.

11
задан user1103633 26 May 2012 в 21:52
поделиться

3 ответа

Вам нужна функция str_pad() , чтобы добавить к вашим индексам ведущие нули.

$new_index = str_pad($index, 5, "0", STR_PAD_LEFT);

Где $index ваш инкрементирующий индекс в круге, $new_index является вашим индекс с ведущими нулями.

26
ответ дан Ry- 26 August 2018 в 15:28
поделиться

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

$numbers = array(0,1,11,111,1111,11111,11111);
$padded  = array();
foreach($numbers as $num)
  $padded[] = sprintf('%1$05d', ++$num);

print_r($padded);

У PHP почти всегда есть множество способов сделать то же самое вещь. :)

4
ответ дан EmmanuelG 26 August 2018 в 15:28
поделиться
$number = 1;
$number++;
echo str_pad($number, 5, "0", STR_PAD_LEFT);  //00002
3
ответ дан John Conde 26 August 2018 в 15:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: