php разбить строку на числа не больше указанного числа
Primary tabs
ВНИМАНИЕ: если вам нужна функция ,которая работает с очень большими (произвольной длинны) числами, то идите сюда = http://fkn.ktu10.com/?q=node/4234
/*
данная функция принимает строку $str
из одних цифр и разбивает её на блоки - числа,
каждое из которых не больше заданного $n
(подразумевается ,что $n должно быть достаточно большим-
то есть, вообще говоря больше чем любая цифра - т.е. >9)*/
function get_blocks_array($str, $n)
{
$rarr = array();// массив чисел (результат)
$arr = str_to_arr($str);
$block = '';// строка для хранения очередного блока(числа)
foreach ($arr as $value)
{
$block .= $value; // приклеиваем очередной символ
if (to_number($block)>$n) {
$block = (integer)($block/10);// тогда убираем один разряд = $value
$rarr[] = $block; // добавляем число в массив
$block = ''; // обнуляем блок
$block .= $value;// добавляем последний элемент, который не вошёл в предыдущий блок
}
}
if ($block != '') // если что-то осталось
$rarr[] = $block;
// можно вывести на экран, то что получилось
echo "<br> строка = ".$str;
echo "<br> n = ".$n;
foreach($rarr as $val)
{
echo '<br>';
echo '<br>'.$val;
}
return $rarr;
}
- Log in to post comments
- 2244 reads