我会看到将字符串中的某些字符转换为混合大小写的另一种方法我认为我的方式不是最佳方式..
$arr_str = str_split("w2abcd");
$atCase = "";
foreach ($arr_str as $cha) {
$toup = rand(0, 1);
if($toup == 1){ $atCase .= ucfirst($cha); } else { $atCase .= $cha;}
}
$rtnstr = $atCase;
答案 0 :(得分:3)
看起来很不错。优化可能是这样的:
$str = "w2abcd";
for ($i=0,$c=strlen($str);$i<$c;$i++)
$str[$i] = rand(0, 100) > 50?$strtoupper($str[$i]):$str[$i];
return $str;
答案 1 :(得分:2)
嗯,只是我的变种:
<?php
$str = str_split(strtolower('some text'));
foreach ($str as &$char)
{
if (rand(0, 1)) $char = strtoupper($char);
}
print implode('', $str);