Home  >  Article  >  php教程  >  php 的 FizzBuzzWhizz  

php 的 FizzBuzzWhizz  

WBOY
WBOYOriginal
2016-06-06 19:33:541312browse

来源:其他FizzBuzzWhizz:http://www.oschina.net/code/snippet_1414453_35450; 正则复习phpclass,写的不太好,抛砖引玉。 无 class NumberGame{private $str="startbr";private $num=0;private $Fnum=0;private $snumarr=array();private $arr_key=array()

 来源:其他FizzBuzzWhizz :http://www.oschina.net/code/snippet_1414453_35450;

正则复习 php class,写的不太好,抛砖引玉 。
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();
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn