>  기사  >  php教程  >  php 的 FizzBuzzWhizz  

php 的 FizzBuzzWhizz  

PHP中文网
PHP中文网원래의
2016-05-25 16:59:15929검색

php代码

class NumberGame{
private $str="start<br>";
private $num=0;
private $Fnum=0;
private $snumarr=array();
private $arr_key=array();
function __construct($Fnum,$num,$snumarr){
if($Fnum>=1 && $num>$Fnum && is_array($snumarr) && count($snumarr)>0){
//$this->Fnum=$Fnum;
//$this->num=$num;
$this->snumarr=$snumarr;
for($i=$Fnum;$i<=$num;$i++){
//rule 5
$this->arr_key=array_keys($snumarr);
$typeB = strpbrk($i, current($this->arr_key) )?true:false;
if($typeB){
$this->str.= current($snumarr)."(".$i.") <br>";
}else{
$this->rule($i);
}
}
}
}
function rule($i){
$str="";
for($j=0;$j<count($this->snumarr);$j++){
$key=$this->arr_key[$j];
//var_dump($key);
if(is_int($i/$key)){
$str.=$this->snumarr[$key];
}
}
if(empty($str)){
$str=$i."<br>";
}else{
$str.="(".$i.") <br>";
}
$this->str.=$str;
}
function answer(){
return $this->str;
}
}


$snumarr=array(&#39;3&#39;=>&#39;Fizz&#39;,&#39;5&#39;=>&#39;Buzz&#39;,&#39;7&#39;=>&#39;Whizz&#39;);

$ng=new NumberGame(1,100,$snumarr);

echo $ng->answer();


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.