欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php 的 FizzBuzzWhizz  

程序员文章站 2022-05-30 15:33:23
...

来源:其他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
"; 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;$iarr_key=array_keys($snumarr); $typeB = strpbrk($i, current($this->arr_key) )?true:false; if($typeB){ $this->str.= current($snumarr)." (".$i.")
"; }else{ $this->rule($i); } } } } function rule($i){ $str=""; for($j=0;$jsnumarr);$j++){ $key=$this->arr_key[$j]; //var_dump($key); if(is_int($i/$key)){ $str.=$this->snumarr[$key]; } } if(empty($str)){ $str=$i."
"; }else{ $str.= " (".$i.")
"; } $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();