Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Reverse of number in PHP not showing correct output

Tags:

php

I have made a program to reverse the number but every time 0 gets appended to the result.

$num = 675;
$rev = 0;

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

echo $rev;   //result is 5760
like image 313
Cooly Wizardy Avatar asked Nov 16 '25 20:11

Cooly Wizardy


2 Answers

Your problem is this line:

$num = (int) $num / 10;

which is the same as:

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

so it doesn't actually cast the result. Use the extra parentheses:

$num = (int) ($num / 10);
like image 148
Karoly Horvath Avatar answered Nov 19 '25 10:11

Karoly Horvath


Here is you complete code.

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

Output will be 6543

like image 24
Ekramul Hoque Avatar answered Nov 19 '25 09:11

Ekramul Hoque