Как разбить число от конца до начала - PullRequest
0 голосов
/ 03 января 2012

Как я могу разделить число от начала до конца?

Учитывая, что число может иметь любую длину.

Ближайшая вещь, которую я пробовал:

$str = "1234"; #or any other number/string ranging from 0 - 99999
#then somehow inverse the number
$arr1 = str_split($str);

if(!empty($arr1[0])){echo "<div ...>".$arr1[0]."</div>";}
if(!empty($arr1[1])){echo "<div ...>".$arr1[1]."</div>";}
if(!empty($arr1[2])){echo "<div ...>".$arr1[2]."</div>";}
if(!empty($arr1[3])){echo "<div ...>".$arr1[3]."</div>";}
if(!empty($arr1[4])){echo "<div ...>".$arr1[4]."</div>";}

Спасибо.

Ответы [ 3 ]

4 голосов
/ 03 января 2012

Просто используйте функцию strrev следующим образом:

<?php
    $rev = strrev($str);
?>

Обновление: один лайнер, чтобы сделать все это:

$reverse = 
array_map(create_function('$n','return "<div...>$n</div>";'), str_split(strrev($str)));
2 голосов
/ 03 января 2012
$number = 1234567; 
$number = str_split($n);
$numbers = array_reverse($number);

Переменная $number преобразуется в строку, если она еще не была перед разбиением. Затем массив переворачивается.

Чтобы пройти через это:

foreach ($numbers as $value) {
    echo "<div ...>".$value."</div>";
}
0 голосов
/ 03 января 2012

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

Вы можете найти длину, используя strlen() и for loop до strlen()

$str = "1234";
$str = strrev($str);
for($i=0; $i<= strlen($str); $i++){

 echo substr($str,$i,1)."<br>";
}
...