【问题标题】:Randomize Case of PHP string [closed]随机化PHP字符串的大小写[关闭]
【发布时间】:2014-05-16 16:27:56
【问题描述】:

在高中时,我和我的朋友想出了一个很酷的东西,我们称之为“733t speek”,您可以在其中随机化单词的大小写。例如,“randomize”会变成“rANDomIZe”。

是否有一个 php 函数可以做到这一点,类似于strtolower?我检查了文档,没有 strtorandom 函数。

【问题讨论】:

  • 您基本上是在问“我需要一个可以洗碗、遛狗和做作业的工具。我找到了一把锤子,有没有类似的东西,但能做到吗?”。不,你得到了一套基本的工具,你可以使用它们来完成你想要的。期望 PHP 为人们可能想做的每件事提供一个内置函数简直是荒谬的。
  • PS,这不是你想出来的。
  • 733t speek 从来都不酷...
  • @cept0 我认为讨论什么是酷或曾经酷的东西不适合这个论坛。我提供了一些背景故事并增加个人兴趣,而不是邀请人身攻击。
  • @MarcB 我不明白所有反对票和说教的目的是什么?因为他用了733T这个词?这个人刚来这里,想知道 PHP 是否有一个内置函数可以对字符串进行一些更改,而不是该函数是否可以建造他的房子。这些天能够在这里提出一个有效的问题有什么问题?嘘...

标签: php string


【解决方案1】:

您正在寻找的答案是:

Nope.

但是您可以自己轻松地实现该功能,例如:

$str = "look mawm, i'm so 7eet!";

for ($i=0, $c=strlen($str); $i<$c; $i++)
    $str[$i] = (rand(0, 100) > 50
        ? strtoupper($str[$i])
        : strtolower($str[$i]));

return $str;

【讨论】:

  • 这不会对以全大写开头的字符串做任何事情。
  • @Fuser97381 很好,更新了代码来解决这个问题
  • 应该是 strtoupper 和 strtolower 而不是 $strtoupper 和 $strtolower
【解决方案2】:

没有这种开箱即用的功能,因为嗯......它毫无意义。不过这应该可行:

$myString = "sample string";
$i=0;
while($i<strlen($myString)){
    $tmp=$myString[$i];
    if(rand() % 2 ==0) $tmp=strtoupper($tmp);
    else $tmp=strtolower($tmp);
    $myString[$i]=$tmp;
    $i++;
}

echo $myString;

【讨论】:

    【解决方案3】:

    使用随机整数生成器,并使用for 循环遍历字符串的每个字符。

    在每个循环中,如果生成的数字是偶数,则使用字符的大写;如果奇数,请使用小写。然后将每个字符组合在一起,你应该得到一个你想要的strtorandom 函数。

    【讨论】:

      猜你喜欢
      • 2018-01-14
      • 1970-01-01
      • 2014-05-04
      • 2015-02-20
      • 2012-01-10
      • 1970-01-01
      • 1970-01-01
      • 2021-08-18
      • 2014-02-01
      相关资源
      最近更新 更多