首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于php,如何小写或大写字符串中的字符

对于php,如何小写或大写字符串中的字符
EN

Stack Overflow用户
提问于 2013-06-01 08:30:01
回答 3查看 3.9K关注 0票数 2

我尝试了以下方法,但似乎不起作用

代码语言:javascript
复制
if ($word[$index] >= 'a' && $word[$index] <= 'z') {
  $word[$index] = $word[$index] - 'a' + 'A';
} else if ($word[$index] >= 'A' && $word[$index] <= 'Z') {
  $word[$index] = $word[$index] - 'A' + 'a';
}

这里有什么问题吗?达到预期效果的最佳方式是什么?

EN

回答 3

Stack Overflow用户

发布于 2013-06-01 08:32:45

如果想改变整个字符串的大小写,可以尝试:strtoupper( $string )strtolower( $string )。如果只想更改字符串第一个字母的大小写,请尝试:ucfirst( $string)lcfirst( $string )

还有str_replace(),它区分大小写。您可以执行类似str_replace( 'a', 'A', $string );的操作,将所有小写字母'A‘替换为大写字母'a’。

您可能需要查看php string functions的列表。

票数 2
EN

Stack Overflow用户

发布于 2013-06-01 08:49:14

看起来你想颠倒这个案子?

代码语言:javascript
复制
$word =  strtolower($word) ^ strtoupper($word) ^ $word;
票数 2
EN

Stack Overflow用户

发布于 2013-06-01 08:53:49

如果您想颠倒字符串中所有字母的大小写,这里有一种可能的方法:

代码语言:javascript
复制
$test = 'StAcK oVeЯfLoW';
$letters = preg_split('/(?<!^)(?!$)/u', $test );
foreach ($letters as &$le) {
    $ucLe = mb_strtoupper($le, 'UTF8');
    if ($ucLe === $le) {
        $le = mb_strtolower($le, 'UTF8');
    }
    else {
        $le = $ucLe;
    }
}
unset($le); 
$reversed_test = implode('', $letters);
echo $reversed_test; // sTaCk OvEяFlOw
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16867844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档