PHP 常用例子

如果字符串的反转与字符串相同,则该字符串称为回文字符串。例如,"radar"是回文字符串,但"rubber"不是回文字符串。

方法1:检查回文字符串

在下面的示例中,字符串名为 MyString 是否有回文字符串。 while 循环用于比较字符串的字符。创建两个变量 l 和 r,它们最初指向字符串的第一个和最后一个字符。如果比较的字符不相同,则将变量flag加1并退出循环,否则继续循环。每次迭代后,l 增加 1,r 减少 1,直到它们相互交叉。最后,根据flag变量的值,检查MyString是否有回文字符串。

<?php
function Palindrome($MyString) {
  $l = 0;
  $r = strlen($MyString) - 1;
  $flag = 0;

  while($r > $l){
    if ($MyString[$l] != $MyString[$r]){
      $flag = 1;
      break;
    }
    $l++;
    $r--;
  }

  if ($flag == 0){
    echo $MyString." 是一个回文字符串.\n";
  } else {
    echo $MyString." 不是一个回文字符串.\n";
  }
}

Palindrome("radar");
Palindrome("rubber");
Palindrome("malayalam");
?> 

上面的代码将给出以下输出:

radar 是一个回文字符串.
rubber 不是一个回文字符串.
malayalam 是一个回文字符串. 

方法2:使用 PHP strrev() 函数

使用 PHP strrev() 函数也可以实现同样的效果。

<?php
function Palindrome($MyString) {
  $revString = strrev($MyString);
  if ($revString == $MyString){
    echo $MyString." 是一个回文字符串.\n";
  } else {
    echo $MyString." 不是一个回文字符串.\n";
  }
}

Palindrome("radar");
Palindrome("rubber");
Palindrome("malayalam");
?> 

上面的代码将给出以下输出:

radar 是一个回文字符串.
rubber 不是一个回文字符串.
malayalam 是一个回文字符串.