大写字符串的最后一个字母

时间:2011-07-26 00:29:43

标签: php capitalization

如何将字符串的最后一个字母大写。

例如:

hello

变为:

hellO

6 个答案:

答案 0 :(得分:14)

令人着迷但很有趣​​:

echo strrev(ucfirst(strrev("hello")));

演示:http://ideone.com/7QK5B

作为一个功能:

function uclast($str) {
    return strrev(ucfirst(strrev($str)));
}

答案 1 :(得分:3)

$s是您的字符串(Demo)时:

$s[$l=strlen($s)-1] = strtoupper($s[$l]);

或以函数的形式:

function uclast($s)
{
  $l=strlen($s)-1;
  $s[$l] = strtoupper($s[$l]);
  return $s;
}

并且为了扩展需要,除了最后一个字符明显为大写字母外,所有内容都是小写的:

function uclast($s)
{
  $l=strlen($s)-1;
  $s = strtolower($s);
  $s[$l] = strtoupper($s[$l]);
  return $s;
}

答案 2 :(得分:1)

这有两个部分。首先,您需要知道如何获取字符串的一部分。为此,您需要substr()功能。

接下来,有一个用于大写名为strtotupper()的字符串的函数。

$thestring="Testing testing 3 2 1. aaaa";
echo substr($thestring, 0, strlen($thestring)-2) . strtoupper(substr($thestring, -1));

答案 3 :(得分:0)

这是一个算法:

  1. Split the string s = xyz where x is the part of
     the string before the last letter, y is the last
     letter, and z is the part of the string that comes
     after the last letter.
  2. Compute y = Y, where Y is the upper-case equivalent
     of y.
  3. Emit S = xYz

答案 4 :(得分:0)

可以使用以下所有内容的小写/大写/混合字符大小写

<?php
    $word = "HELLO";

    //or

    $word = "hello";

    //or

    $word = "HeLLo";

    $word = strrev(ucfirst(strrev(strtolower($word))));

    echo $word;
?>

所有单词的输出

hellO

答案 5 :(得分:0)

$string = 'ana-nd';

echo str_replace(substr($string, -3), strtoupper('_'.substr($string, -2)), $string);

// Output: ana_ND


$string = 'anand';

echo str_replace(substr($string, -2), strtoupper(substr($string, -2)), $string);

// Output: anaND