40分求一小段PHP的代码,大家请进
需求:
从a,b这两个数字中随机取一个数字,组成一串10个字符的字符串。
要求:
1、相邻的两个字母不能相同(0除外),如果随机取到相同的2个连续的字母,需要把后面的字母转换为0,直到出现另外一个不同的字母为止,比如循环后abbb这样的结果,需要转换成ab00;
2、不能在循环之外处理重叠的字母,此操作需要在生成字符串的时候完成。
最后的正确结果举例:0a000b00ab,或者abab0000ba
谢谢!
[解决办法]
$last = '';$r = '';for($i=0; $i<10; $i++) { $t = rand(0, 1)>0.5 ? 'a' : 'b'; $r .= $t == $last ? '0' : $t; $last = $t;}echo $r;
[解决办法]
<?php
function chkStr($a,$b)
{
$str='';
$c='';
$d='';
$arr=array($a,$b);
while(strlen($str)<10)
{
$d=rand(0,1);
$str.=($c==$arr[$d]) ? ("0") : ($arr[$d]);
$c=($c==$arr[$d]) ? ("0") : ($arr[$d]);
}
return $str;
}
echo chkStr(a,b);
?>