如何在PHP中交换第一个字母和最后一个字母?
例如,如果字符串为"hello"
,则结果必须为"oellh"
。我使用str_replace
,但我只能替换一个单词。这是我的代码:
$string="hello";
$first=$string[0];
$last=substr($string, -1);
$result=str_replace($first, $last, $string);
echo $result;
答案 0 :(得分:1)
使用str_split
拆分字符串并将它们放入数组中。现在抓住最后一个元素,将其放在前面,使用array_slice
获取其间的剩余元素,并将第一个元素追加到尾部。
<?php
$str='hello';
echo $newstr=$str[count(str_split($str))-1].implode('',array_slice(str_split($str),1,count(str_split($str))-2)).str_split($str)[0];
<强> OUTPUT :
强>
oellh
答案 1 :(得分:0)
str_replace的前两个参数可以为多个替换使用数组。
答案 2 :(得分:0)
那么,
像这样:
$string = 'hello';
$length = strlen($string);
$newStr = $string[$length-1] . substr($string, 1, $length-2) . $string[0];
echo $newStr; // oellh
考虑零/一/两个字符的单词也可能是一个好主意:
$string = 'hello';
$length = strlen($string);
$newStr = '';
switch ($length) {
case 0:
case 1:
$newStr = $string;
break;
case 2:
$newStr = strrev($string);
break;
default:
$newStr = $string[$length-1] . substr($string, 1, $length-2) . $string[0];
break;
}
echo $newStr; // on
答案 3 :(得分:0)
尝试这样:
$string="hello";
$first=$string[0]; //get first character
$last=$string[strlen($string)-1]; //get last character
$string[0] = $last; // set last character as first
$string[strlen($string)-1] =$first; // set first character as last
echo $string;
输出:
oellh