Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Форматирование последовательности чисел 
:(
    Опции темы
atlant1s
Дата 11.2.2014, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 17.10.2007
Где: Одесса

Репутация: нет
Всего: нет



Здравствуйте. Имеется массив чисел, например:
Код

$numbers = array (1, 2, 3, 4, 5, 6, 7, 8);

Необходимо представить это в виде строки:
1-8

При этом, если будет такой массив:
Код

$numbers = array (1, 2, 5, 6, 7, 8, 10);

тогда формировать строку:
1-2, 5-8, 10

Как можно реализовать сравнение?

Это сообщение отредактировал(а) atlant1s - 11.2.2014, 22:13
PM MAIL ICQ Skype   Вверх
igorold
Дата 12.2.2014, 06:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: нет
Всего: 17



Код

$numbers = array (1, 2, 5, 6, 7, 8, 10);
//$numbers = array (1, 2, 3, 4, 5, 6, 7, 8);
$fl = 0;
$line = $numbers[0];
$i = 0;
for ($i = 1; $i < count($numbers);$i++)
{
    if ($numbers[$i]-$numbers[$i-1]==1)
    {
        $fl = 1;
        continue;
    }
    else
    {
        if ($fl == 1)
            $line .= "-".$numbers[$i-1].",".$numbers[$i];
        else
            $line .= ",".$numbers[$i];
        $fl = 0;
    }
}
if  ($fl == 1) $line .= "-".$numbers[$i-1];

echo $line."\n";



Этот ответ добавлен с нового Винграда - http://vingrad.com

Это сообщение отредактировал(а) igorold - 12.2.2014, 08:22


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0919 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.