хехПроблема-то в чём? В банальной посимвольной обработке строки циклом?
не так все просто...уважаемый, нужен хинт номер 2Автор оригинала: SiMM
hint: строки можно сравнивать. И циклы для этого не нужны.

Этот код работает и в таком виде:Автор оригинала: SiMM
Особые случаи рассматривай самостоятельно - это только пример.PHP:$start = '988799999'; $end = '988800497'; $inc = array(1,2,3,4,5,6,7,8,9,0); for ($n = $start; $n <= $end; ) { // вот и прикрутили echo $n."\n"; for ($i = strlen($n); $i--; ) if ($n[$i] = $inc[$n[$i]]) break; }
$start = '988799999';
$end = '988800497';
for ($n = $start; $n <= $end; $n++)
{
echo $n."\n";
}
$start = '10000000000000000000000';
$end = '10000000000000000000011';
В случае, если вы сравниваете две числовые строки, они сравниваются как целые числа.
$a = 12345678901234560;
$b = 12345678901234569;
/*
Array
(
[0] => 12345678901234560
[1] => 12345678901234560
[2] => 12345678901234562
[3] => 12345678901234565
[4] => 12345678901234565
[5] => 12345678901234565
[6] => 12345678901234567
[7] => 12345678901234567
[8] => 12345678901234567
)
*/
Хм... "клинит"Автор оригинала: SiMM
PHP:$a = 12345678901234560; $b = 12345678901234569;


function str_to_array ($str)
{
$c = strlen($str);
$array = array();
for ($i = 0; $i < $c; $i++) {
$array[] = (int)$str{$i};
}
return $array;
}
$a = "12345678901234560";
$b = "12345678901234569";
$max = strlen($a);
$a = str_to_array($a);
$b = str_to_array($b);
while ($a != $b)
{
$a[$max-1] = $a[$max-1]+1;
for($i = $max-1; $i > 0; $i--) {
if($a[$i] > 9)
{
$a[$i] = 0;
$a[$i-1] = $a[$i-1]+1;
}
}
$d[] = implode("", $a);
}
print_R($d);