PHP용 FizzBuzzWhizz
풀어 주다: 2016-07-25 08:48:07
来源:其他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