PHP 常用例子

在 PHP 中,可以使用下面提到的方法反转给定的字符串。

方法 1:使用迭代

在下面的示例中,字符串名为MyString 使用ReverseString()函数进行反转。

创建两个变量 l 和 r,它们最初指向字符串的第一个和最后一个字符。

如果 l 小于 r,则 MyString 索引 l 和 r 处的字符 交换了。交换后,l 加 1,r 减 1,直到交叉。

最后,MyString将包含初始字符串的反转值。

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

  while($r > $l){
    //交换索引l和r处的字符
    $c = $MyString[$l];
    $MyString[$l] = $MyString[$r];
    $MyString[$r] = $c;
    
    $l++;
    $r--;
  }
  echo "$MyString \n";
}

ReverseString("Hello World");
ReverseString("Programming is fun");
ReverseString("Reverse this string");
?> 

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

dlroW olleH
nuf si gnimmargorP
gnirts siht esreveR 

方法2:使用递归

使用递归函数也可以实现上述结果。考虑下面的示例:

<?php

function ReverseString($MyString) {
  if(($MyString == null) || (strlen($MyString) <= 1)) {
    echo ($MyString);
  } else {
    echo ($MyString[strlen($MyString) - 1]);
    ReverseString(substr($MyString, 0, 
                  (strlen($MyString) - 1)));
  }
}

ReverseString("Hello World");
echo "\n";

ReverseString("Programming is fun");
echo "\n";

ReverseString("Reverse this string");
echo "\n";
?> 

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

dlroW olleH
nuf si gnimmargorP
gnirts siht esreveR 

方法3:以相反的顺序打印字符串

通过以相反的顺序打印字符串也可以实现同样的效果。考虑下面的示例:

<?php
function ReverseString($MyString) {
  $last = strlen($MyString) - 1;

  for($i = $last; $i >= 0; $i--) {
    echo $MyString[$i];
  }
  echo "\n";
}

ReverseString("Hello World");
ReverseString("Programming is fun");
ReverseString("Reverse this string");
?> 

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

dlroW olleH
nuf si gnimmargorP
gnirts siht esreveR 

方法 4:使用内置函数 - strrev()

PHP 内置函数 strrev() 也可用于反转字符串。考虑下面的示例:

<?php
echo strrev("Hello World")."\n";
echo strrev("Programming is fun")."\n";
echo strrev("Reverse this string")."\n";
?> 

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

dlroW olleH
nuf si gnimmargorP
gnirts siht esreveR