网站首页 > 代码片段 > Php > 正文

php 的 FizzBuzzWhizz

2017-08-26 12:08:03 来源: 点击:站内收藏
 
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('3'=>'Fizz','5'=>'Buzz','7'=>'Whizz');

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

echo $ng->answer();

相关热词搜索:FizzBuzzWhizz
评论正在载入

相关代码片段