使用PHP反转字符串

4
我正在尝试找到一种反转字符串的方法。虽然我看过其他方法,但我希望通过独立思考并不使用任何其他人的代码来完成这个任务。以下代码可以将字符串反转,但是我一直收到如下错误提示:
注意:C:\wamp\www\test\index.php第15行中未定义偏移量:25。
其中25是被递减的字符串长度。
//error_reporting(NULL);
$string = trim("This is a reversed string");

//find length of string including whitespace
$len =strlen($string);

//slipt sting into an array
$stringExp = str_split($string);

//deincriment string and echo out in reverse
for ($i = $len; $i >=0;$i--)
{
echo $stringExp[$i];
}

感谢您提前答复。

你的字符串索引从0开始,因此第25个字符的索引为24。更改你的代码,使$i从24到0。正如下面许多海报所回答的那样,你还应该在PHP函数库中寻找需要的功能。 - Gustav Bertram
谢谢,我发现0被计算为1,是的,有库可以做到这一点,但我想尝试不使用它们来实现。;-) - Steven Mcsorley
我在这里为你的问题添加了一个答案,https://dev59.com/yk7Sa4cB1Zd3GeqP1zxx#30722030。如有需要,请随意进行调整。谢谢。 - Louie Miranda
16个回答

0

0

你可以使用它:

echo $reversed_s = join(' ',array_reverse(explode(' ',"Hello World")));

0
<?php
echo strrev("PHP TUTORS");
?>

以上脚本的输出结果

SROTUT PHP

参考源代码


0

我们可以通过以下方法来实现字符串反转

    $string = "Hello world!";
  1. 第一种方法:

    echo strrev($string);
    
  2. 第二种方法:

    $stringSplit = str_split($string);
    for ($i = $len-1; $i >=0;$i--)
    {
        echo $stringSplit[$i];
    }
    

0
public function stringReverse($string="Jai mata di")
{
    $length = strlen($string) - 1;
    $i = 0;
    while ($i < $length + 1) {
        echo $string[$length - $i];
        $i++;

    }
}

0

这将会起作用

class StringUtils {

    public function stringReverse($string){
        $arr1 = str_split($string);
        $arr2 = array();
        for($i = count($arr1); $i >= 0; $i--){
            $arr2[count($arr1) - $i] = $arr1[$i];
        }
        return implode("", $arr2);
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接