来源:其他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;$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.")
";
- }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();
复制代码
|
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31