ホームページ  >  記事  >  php教程  >  php 的 FizzBuzzWhizz  

php 的 FizzBuzzWhizz  

WBOY
WBOYオリジナル
2016-06-06 19:33:541311ブラウズ

来源:其他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();
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。