用php反转一个字符串

时间:2012-06-19 12:11:25

标签: php string reverse

我正试图找到一种方法来反转一个字符串,我已经看到了替代方案,但我想以这种方式在盒子外思考并且不使用其他人的代码作为替代,下面的代码反转字符串但是我不断收到此错误:

注意:未定义的偏移量:第15行的C:\ wamp \ www \ test \ index.php中的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];
}

提前致谢

17 个答案:

答案 0 :(得分:8)

你的尝试太难了,在最终“重新发明轮子”之前,请务必查阅手册和/或搜索引擎以检查是否有本机功能可以执行您想要的操作:

  

strrev - 反转字符串

http://php.net/manual/en/function.strrev.php

$string = "This is a reversed string";
echo strrev($string);
// Output: gnirts desrever a si sihT

答案 1 :(得分:3)

正如其他人所说,strrev()要做到这一点。

如果你想自己构建它(用于学习?):你的问题是你的索引太高了 - 一个长度为25的字符串从0到24索引,所以你的循环必须看起来像这样:

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

答案 2 :(得分:3)

$string = 'mystring';
$length = strlen($string);

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

OUTPUT: gnirtsym

答案 3 :(得分:1)

您必须获得$len-1,因为字符串从0开始到$len-1

答案 4 :(得分:1)

strrev

有一个功能

答案 5 :(得分:1)

echo strrev("This is a reversed string!"); 

答案 6 :(得分:1)

php在字符串函数方面非常完整,只需要传递字符串即可。这就是为什么php很简单:)

使用 strrev php函数http://bg2.php.net/manual/en/function.strrev.php

<?php
  echo strrev("This is a reversed string");
 ?>

// Output: gnirts desrever a si sihT

答案 7 :(得分:1)

<?php
// Reversed string and Number
//  For Example :
    $str = "hello world. This is john duvey";
    $number = 123456789;
    $newStr = strrev($str);
    $newBum = strrev($number);

    echo $newStr;
    echo "<br />";
    echo $newBum;

输出:  第一名:yevud nhoj si sihT .dlrow olleh  第二名:987654321

答案 8 :(得分:0)

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

因为索引从0开始

答案 9 :(得分:0)

xx = 1
Do While rst.EOF = False
For iCol = 1 To fldCount
    Sheets("Sheet1").Cells(iCol, xx).Value = rst.Fields(iCol - 1).Name & ":" & rst.Fields(iCol - 1).Value
  Next
rst.MoveNext
xx = xx + 1
Loop

Reverse a string php

答案 10 :(得分: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);
    }
}

答案 11 :(得分:0)

我们可以在以下menthods的帮助下进行String Reverse

var YAML = window.YAML, json, data;
data = YAML.parse(yml); // yml text we got above
json = JSON.stringify(data);
var jsonObject = JSON.parse(json);
  1. 第一种方式:

        $string = "Hello world!";
    
  2. 第二种方式:

    echo strrev($string);
    

答案 12 :(得分:0)

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

    }
}

答案 13 :(得分:0)

你可以使用它:

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

答案 14 :(得分:0)

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

上面的文字输出

SROTUT PHP

Reference Source Code

答案 15 :(得分:0)

将for循环更改为

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

答案 16 :(得分:-1)

找到字符串的长度,并通过循环将其从长度1迭代为0,然后连接到临时变量中。enter image description here