📜  PHP |回文检查

📅  最后修改于: 2022-05-13 01:56:34.046000             🧑  作者: Mango

PHP |回文检查

在本文中,我们将学习如何在PHP中检查数字和字符串是否为回文。如果一个数字或字符串即使在分别颠倒数字或字母后仍然保持不变,则称其为回文。
回文数示例:

Input : 1441
Output : Palindrome
Explanation: Reversing 1441 will also get 1441

Input : 12521
Output : Palindrome
Explanation remains same

检查回文数

在这里,我们简单地使用了迭代的方式来检查回文数。每个数字在迭代中被提取并形成反向数字,最后检查它是否与原始数字相同。

PHP


PHP


PHP


输出:

Palindrome

检查回文字符串

回文字符串的示例:

Input : "MALAYALAM"
Output : Palindrome
Explanation: Reversing "MALAYALAM" will also get "MALAYALAM"

Input : "14441"
Output : Palindrome
Explanation remains same

方法一:使用 strrev()
strrev()函数在PHP中用于反转字符串。我们可以简单地使用这种方法来反转字符串并将其与之前的值匹配。如果匹配,则字符串是回文,否则不是。
例子:

PHP

 

输出:

Palindrome

方法二:递归方式使用 substr()
substr() 方法用于返回字符串的一部分,称为子字符串。使用这种方法,有一种递归方式来检查回文与否。在此方法中,不会形成新字符串,并且在每次递归调用中都会修改原始字符串。
例子:

PHP

 

输出:

Palindrome

在职的:
在每次递归调用期间,第一个字符与字符串的最后一个字符匹配,如果匹配,则在下一次调用期间这两个字符都将被丢弃。这一直持续到字符串的长度减少到 0 或 1。在下面的示例中,使用单词“MALAYALAM”,让我们看看它的工作原理。
在第一步中,两个 M 都在,比较结束。由于匹配,它们都被丢弃,下一个要传递的字符串是“ALAYALA”。同样,两个 A 在两端都匹配,因此要传递的下一个字符串是“LAYAL”。这种情况一直持续到只剩下“Y”。