Вопрос по php – Обратное число в PHP не показывает правильный вывод

2

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

$num = 675;
$rev = 0;

while($num > 0) {
$temp = $num % 10;
$rev = ($rev *  10) + $temp;
$num = (int) $num / 10;
}

echo $rev;   //result is 5760
Замените $ num = (int) $ num / 10; с этим кодом $ num = (int) ($ num / 10); какое правильное решение дал @Karoly Horvath Javascript Coder

Ваш Ответ

10   ответов
3

В PHP вы можете сделать$rev = (int)strrev($num);

На самом деле. Кроме того, это более быстрый способ, по крайней мере, для огромных количеств.
1

Как насчет использованияstrrev:

$>cat r.php
<?php
$num=675;

$rev= (int) strrev("{$num}");

echo "{$num} : {$rev}".PHP_EOL;
?>

$>php r.rev
675 : 576
6

Вот вам полный код.

<?php
$n = 3456;
$reverse = 0;
while ($n > 0)
{
  $reverse = $reverse * 10;
  $reverse = $reverse + $n%10;
  $n = (int)($n/10);
}
echo $reverse;
?>

Выход будет 6543

8

Ваша проблема в этой строке:

$num = (int) $num / 10;

что так же, как:

$num = ((int) $num) / 10;

так что на самом деле это не результат. Используйте дополнительные скобки:

$num = (int) ($num / 10);
прохладно.......... :) Cooly Wizardy
0

$ num = 675;     $ rev = 0;

while($num > 1) { //do $num value lent-1
$temp = intval($num) % 10;
$rev = intval($rev) *  10 + $temp;
$num =  intval($num)/ 10;
}

echo $rev; 
0

Так просто, попробуйте это:

$num = 4321;
$rev = 0;

while($num > 1) {
    $temp = $num % 10;  
    $num = (int) $num / 10;
    echo $temp;
}

выход:

1234
1

Это 100% работает: -

 $mac = 123;
 $step1 = strrev((string)$mac);
 $step2 = (int)$step1;

 echo $mac." and ".$step2*2;//checking
1

Вы можете достичь своей цели BT это ...

$num = 675;
$num_array = str_split($num);
$final_num_array = array_reverse($num_array);
$rev_num = implode("",$final_num_array);
0

Вот реверсер числа, который я нашел онлайн:

<?php 
$num=6541020; 
$revnum=0; 
do{ 
    $revnum=($revnum *10)+($num % 10); 
    $num=(int)($num / 10 ); 
}while($num>0); 
echo $revnum; 
?>

Источник:http://www.weberdev.com/get_example.php3?ExampleID=4879

1

Вы можете попробовать что-то вроде этого:

<?php
    $num = 675;
    $strNum = (string) $num;
    $revStrNum = strrev($strNum);
    $revNum = (int) $revStrNum;
    echo $revNum; //Output 576 when I tried it
?>

Обратите внимание, я использовал строковую функциюstrrev ()

Похожие вопросы