>  기사  >  백엔드 개발  >  40分求一小段PHP的代码,大家请进解决办法

40分求一小段PHP的代码,大家请进解决办法

WBOY
WBOY원래의
2016-06-13 13:47:56728검색

40分求一小段PHP的代码,大家请进
需求:
从a,b这两个数字中随机取一个数字,组成一串10个字符的字符串。

要求:
1、相邻的两个字母不能相同(0除外),如果随机取到相同的2个连续的字母,需要把后面的字母转换为0,直到出现另外一个不同的字母为止,比如循环后abbb这样的结果,需要转换成ab00;
2、不能在循环之外处理重叠的字母,此操作需要在生成字符串的时候完成。

最后的正确结果举例:0a000b00ab,或者abab0000ba



谢谢!

------解决方案--------------------

PHP code
$last = '';
$r = '';
for($i=0; $i0.5 ? 'a' : 'b';
  $r .= $t == $last ? '0' : $t;
  $last = $t;
}
echo $r;
<br><font color="#e78608">------解决方案--------------------</font><br><?php <br /><br>function chkStr($a,$b)<br>{<br>   $str='';<br>   $c='';<br>   $d='';<br>   $arr=array($a,$b);<br>   while(strlen($str)   {<br>       $d=rand(0,1);<br>       $str.=($c==$arr[$d]) ? ("0") : ($arr[$d]);  <br>       $c=($c==$arr[$d]) ? ("0") : ($arr[$d]);     <br>   }  <br>   return $str; <br>}<br><br>echo chkStr(a,b);<br><br>?> <div class="clear">
                 
              
              
        
            </div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.