Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php随机混合alpha情况_Php_String - Fatal编程技术网

php随机混合alpha情况

php随机混合alpha情况,php,string,Php,String,我想找到另一种方法将字符串中的一些字符转换为混合大小写。我认为我的方法不是最佳方法 $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; 嗯,只是我的

我想找到另一种方法将字符串中的一些字符转换为混合大小写。我认为我的方法不是最佳方法

$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;
嗯,只是我的变体:

<?php
$str = str_split(strtolower('some text'));
foreach ($str as &$char)
{
    if (rand(0, 1)) $char = strtoupper($char);
}
print implode('', $str);
好吧,只是我的变体:

<?php
$str = str_split(strtolower('some text'));
foreach ($str as &$char)
{
    if (rand(0, 1)) $char = strtoupper($char);
}
print implode('', $str);

看起来不错。优化可能如下所示:

$str = "w2abcd";
for ($i=0,$c=strlen($str);$i<$c;$i++)
  $str[$i] = rand(0, 100) > 50?$strtoupper($str[$i]):$str[$i];
return $str;
$str=“w2abcd”;
对于($i=0,$c=strlen($str);$i 50?$strtoupper($str[$i]):$str[$i];
返回$str;

看起来不错。优化可能如下所示:

$str = "w2abcd";
for ($i=0,$c=strlen($str);$i<$c;$i++)
  $str[$i] = rand(0, 100) > 50?$strtoupper($str[$i]):$str[$i];
return $str;
$str=“w2abcd”;
对于($i=0,$c=strlen($str);$i 50?$strtoupper($str[$i]):$str[$i];
返回$str;

我发现您的方式在呼叫时稍微快一点,但对于更高的呼叫,如1000+数组str_split会更快。@david,您使用什么来检查速度?@SamiAl Subhi我有时使用and(ab)apache基准测试工具我发现您的方式在调用时稍微快一点,但对于更高的调用,如1000+数组str_split则更快。@david您使用什么来检查速度?@SamiAl Subhi我有时使用和(ab)apache基准测试工具