实现字符串反转的两种方法:1、使用for语句倒序遍历字符串,在循环体中用substr()函数从后向前截取一个个字符,并拼接成新字符串,语法“$r='';for($i=字符串长度-1;$i>=0;$i--){$r.=substr($str,$i,1);}”;2、直接利用strrev()函数反转字符串,语法“strrev($str)”。

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

php实现字符串反转的两种方法

方法1:利用for语句和substr()函数

  • 使用for语句倒序遍历字符串

  • 在循环体中,使用substr()函数从后向前截取一个个字符,并拼接成新字符串

实现代码:

<?php
header('content-type:text/html;charset=utf-8');   
$str="123456789";
echo "字符串反转前:<br>";
var_dump($str);

$result = '';
$len = strlen($str);//获取字符串长度
for ($i = $len-1; $i>=0; $i--){
	$result.= substr($str,$i,1);
}
echo "字符串反转后:<br>";
var_dump($result);
?>

1.png

方法2:直接利用strrev()函数

strrev()是字符串反转函数,可以反转字符串,返回已反转的字符串。

<?php
header('content-type:text/html;charset=utf-8');   
$str="A123456789B";
echo "字符串反转前:<br>";
var_dump($str);

$result = strrev($str);
echo "字符串反转后:<br>";
var_dump($result);
?>

2.png

说明:

substr() 函数可以从字符串的指定位置截取一定长度的字符,这段被截取的字符可称为“子串”或者“子字符串”,其语法格式如下:

substr($string, $start [, $length])

参数说明如下:

  • $string:需要截取的字符串,该字符串至少含有一个字符;
  • $start:截取字符串的起始位置;
    • 如果 $start 是非负数,那么字符串将从 $string 的第 $start 个字符处开始截取,$start 从 0 开始计算。例如在字符串“abcdef”中,在 0 位置的字符是“a”,在 2 位置的字符串是 “c” 等等;
    • 如果 $start 是负数,那么字符串将从 $string 结尾处向前数第 $start 个字符开始,$start 从 -1 开始计算。例如在字符串“abcdef”中,在 -1 位置的字符是“f”,在 -3 位置的字符是“d”等等;
    • 如果 $string 的长度小于 $start,将返回 FALSE。
  • $length:可选参数,表示截取字符串的长度。
    • 如果 $length 为正数,那么字符串将从 $start 位置向后截取最多 $length 个字符;
    • 如果 $length 为负数,那么 $string 末尾的 $length 个字符将会被省略(若 $start 是负数则从字符串尾部算起);
    • 如果 $length 的值为 0,FALSE 或 NULL,那么将返回一个空字符串;
    • 如果没有提供 $length,那么返回的子字符串将从 $start 位置开始直到字符串的结尾。


php怎么实现字符串的反转