If a number or string remains the same after reversing the numbers or letters respectively, it is called a palindrome structure. So how to check if numbers and strings are palindromes? The following article will show you how to check whether numbers and strings are palindrome structures in PHP. I hope it will be helpful to you.
1. Check the number of palindromes
Here we simply use the iterative method to check the number of palindromes number. Each number is extracted in iterations and formed into its opposite number, and finally, it is checked whether it is the same as the original number.
Let’s take a look at the implementation method through code examples.
<?php header("content-type:text/html;charset=utf-8"); function Palindrome($number){ $temp = $number; $new = 0; while (floor($temp)) { $d = $temp % 10; $new = $new * 10 + $d; $temp = $temp/10; } if ($new == $number){ return 1; } else{ return 0; } } $original = 1441; if (Palindrome($original)){ echo $original."是回文数"; } else { echo $original."不是回文数"; } ?>
Output:
2. Check the palindrome string
Method 1: Using strrev()
The strrev() method is used in PHP to reverse a string. We can simply use this method to reverse a string and match it with the string before it was reversed. If the match is successful, the string is a palindrome, otherwise it is not.
Let’s take a look at the implementation method through code examples.
<?php header("content-type:text/html;charset=utf-8"); function Palindrome($string){ if (strrev($string) == $string){ return 1; } else{ return 0; } } $original = "hgbgbgh"; if (Palindrome($original)){ echo $original."是回文字符串"; } else { echo $original."不是回文字符串"; } ?>
Output:
Method 2: Recursive method using substr()
substr The () method is used to return a part of a string, called a substring. Using the substr() method, you can check whether a string is a palindrome in a recursive way.
Note: In the substr() method, a new string will not be formed, and the original string will be modified in each recursive call.
Principle: During each recursive call, let the first character match the last character of the string. If they match, discard these two characters during the next call. This continues until the length of the string is reduced to 0 or 1, then the string is a palindrome.
Let’s take a look at the implementation method through code examples.
<?php header("content-type:text/html;charset=utf-8"); function Palindrome($string){ //结束递归 if ((strlen($string) == 1) || (strlen($string) == 0)){ echo "回文字符串"; } else{ // 第一个字符与最后一个字符比较 if (substr($string,0,1) == substr($string,(strlen($string) - 1),1)){ // 选中的字母将被丢弃并传递给下一个字符串 return Palindrome(substr($string,1,strlen($string) -2)); } else{ echo "不是回文字符串"; } } } $string = "MALAYALAM"; Palindrome($string); ?>
Output:
回文字符串
Example description:
In the above example, to check if the string "MALAYALAM" is a palindrome, let us See how it works.
In the first step, both are M and the comparison ends. Since it matches, they are both discarded; the next string to be passed is "ALAYALA". Again, the two A's match at both ends, so the next string to be passed is "LAYAL". This continues until only "Y" remains. Therefore the string "MALAYALAM" is palindrome.
Recommended video tutorials: "PHP Tutorial"
The above is the entire content of this article, I hope it will be helpful to everyone's learning. For more exciting content, you can pay attention to the relevant tutorial columns of the PHP Chinese website! ! !
The above is the detailed content of How to check if numbers and strings are palindromes in PHP? (code example). For more information, please follow other related articles on the PHP Chinese website!