交换第一个单词& PHP中的最后一个字

时间:2014-03-10 06:41:21

标签: php arrays function

如何在PHP中交换第一个字母和最后一个字母?

例如,如果字符串为"hello",则结果必须为"oellh"。我使用str_replace,但我只能替换一个单词。这是我的代码:

$string="hello";
$first=$string[0];
$last=substr($string, -1);
$result=str_replace($first, $last, $string);
echo $result;

4 个答案:

答案 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)

那么,

  1. 取最后一个字符并将其放在第一位;
  2. 取中间字符并将它们放在中间;
  3. 并取第一个字符并将其放在最后。
  4. 像这样:

    $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

live test