PHP为我们提供了许多可以用来操作字符串的内置方法。在本文中,我们将学习如何使用PHP中可用的各种方法反转字符串。
null
例如:
Input : GeeksforGeeks Output : skeeGrofskeeG Input : 12485 Output : 58421
下面我们讨论了在PHP中反转字符串的三种基本且最常用的方法:
- 使用strev()反转字符串 :strrev()函数是PHP中的内置函数,用于反转字符串。此函数以字符串作为参数,并返回一个反向字符串。
语法 :
strrev($string)
下面是使用strrev()反转字符串的程序的实现:
<?php
// PHP program to reverse a string using strrev()
function
Reverse(
$str
){
return
strrev
(
$str
);
}
// Driver Code
$str
=
"GeeksforGeeks"
;
echo
Reverse(
$str
)
?>
输出:
skeeGrofskeeG
- 使用递归和substr()反转字符串 :我们还可以使用递归和substr()函数反转字符串。函数用于获取原始字符串的子字符串。这里我们定义了一个函数Reverse(),其中字符串作为参数传递。在每次递归调用期间,我们都使用substr()方法提取参数字符串的第一个字符,并通过将字符串的剩余部分作为参数传递,再次调用Reverse()函数,并将当前调用返回的字符串末尾的第一个字符连接起来。
以下是上述理念的实施:
<?php
// PHP function to reverse a string using
// recursion and substr()
function
Reverse(
$str
){
// strlen() used to calculate the
// length of the string
$len
=
strlen
(
$str
);
// Base case for recursion
if
(
$len
== 1){
return
$str
;
}
else
{
$len
--;
// extract first character and concatenate
// at end of string returned from recursive
// call on remaining string
return
Reverse(
substr
(
$str
,1,
$len
))
.
substr
(
$str
, 0, 1);
}
}
// Driver Code
$str
=
"GeeksforGeeks"
;
print_r(Reverse(
$str
));
?>
输出:
skeeGrofskeeG
- 在不使用库函数的情况下就地反转字符串 :在位反转字符串是指通过修改原始字符串本身,而不是复制原始字符串来反转字符串。我们可以在不使用PHP中任何库函数的情况下就地反转字符串。这样做的想法是从两侧穿过原始弦,即从左侧和右侧,直到到达弦的中间。并在遍历时不断交换字符。因此,我们将简单地交换字符,从第一个和最后一个开始,然后是第二个第一个和第二个最后一个,依此类推,直到到达字符串的中间。
以下是上述理念的实施:
<?php
// PHP function to in place reverse a string
// without using library functions
function
Reverse(
$str
){
for
(
$i
=
strlen
(
$str
)-1,
$j
=0;
$j
<
$i
;
$i
--,
$j
++)
{
$temp
=
$str
[
$i
];
$str
[
$i
] =
$str
[
$j
];
$str
[
$j
] =
$temp
;
}
return
$str
;
}
// Driver Code
$str
=
"GeeksforGeeks"
;
print_r(Reverse(
$str
));
?>
输出:
skeeGrofskeeG
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END