Write a program to display Reverse of any number in PHP ?

Write a program to reverse the digits of an integer.
Examples :
Input : num = 12345 Output: 54321 Input : num = 876 Output: 678
It can be achieved using Iterative way or Recursive Way
Iterative Method:
Algorithm:
Input: num
(1) Initialize rev_num = 0
(2) Loop while num > 0
(a) Multiply rev_num by 10 and add remainder
of num divide by 10 to rev_num
rev_num = rev_num*10 + num%10;
(b) Divide num by 10
(3) Return rev_num
Example:
num = 456213
rev_num = 0
rev_num = rev_num *10 + num%10 = 3
num = num/10 = 45621
rev_num = rev_num *10 + num%10 = 20 + 6 = 31
num = num/10 = 4562
rev_num = rev_num *10 + num%10 = 260 + 5 = 312
num = num/10 = 456
rev_num = rev_num *10 + num%10 = 2650 + 4 = 3126
num = num/10 = 45
rev_num = rev_num *10 + num%10 = 2650 + 4 = 31265
num = num/10 = 4
rev_num = rev_num *10 + num%10 = 2650 + 4 = 312654
num = num/10 = 0
Program:
PHP
<?php // Iterative function to // reverse digits of num function reversDigits($num) { $rev_num = 0; while($num > 1) { $rev_num = $rev_num * 10 + $num % 10; $num = (int)$num / 10; } return $rev_num; } // Driver Code $num = 456213; echo "Original number is :".$num; echo "\r\n"; echo "Reverse of no. is ", reversDigits($num); ?> |
Original number is :456213 Reverse of no. is 312654
Time Complexity: O(log(n)), where n is the input number.
Auxiliary Space: O(1)
Recursive Method:
PHP
<?php // PHP program to reverse // digits of a number $rev_num = 0; $base_pos = 1; /* Recursive function to reverse digits of num*/function reversDigits($num) { global $rev_num; global $base_pos; if($num > 0) { reversDigits((int)($num / 10)); $rev_num += ($num % 10) * $base_pos; $base_pos *= 10; } return $rev_num; } // Driver Code $num = 456213; echo "Original number is :".$num; echo "\r\n"; echo "Reverse of no. is ", reversDigits($num); ?> |
Original number is :456213 Reverse of no. is 312654
Time Complexity: O(log(n)) where n is the input number.



