1

Possible Duplicate:
How do I check if a number is a palindrome?

If an integer is to not allowed to be treated a string and typecasting is not allowed, how can we figure out whether the number is palindrome or not(in PHP)?

The program which I have come up with is:

function checkPalindrome($number){
    $reverse_number = 0;
    $number_backup  = $number;
    while($number > 0){
      $reverse_number = $reverse_number * 10 + $number % 10;
      $number /= 10;
    }
    return $reverse_number == $number_backup;
}

At step "$number/=10", the result generated won't be integer which is creating the problem.

Community
  • 1
  • 1
sushil
  • 2,641
  • 3
  • 18
  • 24

1 Answers1

6

If you are not allowed to typecast and string-handling is forbidden, you need to do some extra calculations:

while($number > 0){
  $lsd = $number % 10;
  $reverse_number = $reverse_number * 10 + $lsd;
  $number = ($number - $lsd) / 10;
}
Emil Vikström
  • 90,431
  • 16
  • 141
  • 175