PHP中的数字反转未显示正确的输出

Coo*_*rdy 2 php

我已经制作了一个程序来反转数字,但每次0都会附加到结果中.

$num = 675;
$rev = 0;

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

echo $rev;   //result is 5760
Run Code Online (Sandbox Code Playgroud)

Kar*_*ath 8

你的问题是这一行:

$num = (int) $num / 10;
Run Code Online (Sandbox Code Playgroud)

这与:

$num = ((int) $num) / 10;
Run Code Online (Sandbox Code Playgroud)

所以它实际上没有投射结果.使用额外的括号:

$num = (int) ($num / 10);
Run Code Online (Sandbox Code Playgroud)


Ekr*_*que 6

这是你完整的代码.

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

输出将是6543