Задача №5 Вывод отдельных цифр числа

Задача из списка

<?php
/*Дано некоторое число длиной от 1 до 5 цифр - вывести его цифры в обратном порядке*/
echo "Задача №5" . "<br>";
function ShowNumbers($number){
    $numberLenght = strlen( abs($number) );
    $numbers = array();
    $counter = 0;
    if($numberLenght > 5){
        $numbers[0] = "The number is too big!";
        return $numbers;    
    }elseif($number === 0){
        $numbers[0] = 0;
        return $numbers;
    }
    else{
        while($number >= 1 || $number <= -1){
            $numbers[$counter] = abs($number % 10);
            $number /= 10;
            $counter++;
        }
        return $numbers;
    }
    
}
$arr = ShowNumbers(123562);
foreach($arr as $number){
    echo $number . "<br>";
}
?>

Key Words for FKN + antitotal forum (CS VSU):

Этот скрипт не работает, если \$number == 0, и при отрицательных \$number тоже.
Но, возможно, по условию это и не нужно.

Voronve's picture

Исправил, как вариант )

<?php
    /*Дано некоторое число длиной от 1 до 5 цифр -
       вывести его цифры в обратном порядке*/
    function ShowNumbers($number){
        echo "Задача №5" . "<br>";
        $numberLenght = strlen( abs($number) );
        if($numberLenght > 5){
            echo "The number is too big!";
            exit;    
        }elseif($number === 0){
            echo 0;
        }else{
            while($number >= 1 || $number <= -1){
                echo abs($number % 10) . "<br>";
                $number /= 10;
            }
        }
    }
    ShowNumbers(-75642);
    ?>

Да, нормально.
Можно ещё сократить код.

<?php
    /*Дано некоторое число длиной от 1 до 5 цифр -
       вывести его цифры в обратном порядке*/
    function ShowNumbers($number) {
        $number = abs($number);
        echo "Задача №5" . "<br>";
        $numberLenght = strlen($number);
        if ($numberLenght > 5){
            echo "The number is too big!";
            exit;    
        } else {
            do {
                echo $number % 10 . "<br>";
                $number /= 10;
            } while ( !( 1 > $number) );
        }
    }
    ShowNumbers(10);
    ?>
vedro-compota's picture

эта проверена. засчитываем.

_____________
матфак вгу и остальная классика =)