大六壬bz_youwu5函数详解


$kongpo_arr=array("空亡","传空","坐空","破碎"); //空破数
$xujia_arr=array("天空","传天空", "坐空","传空","空亡","传玄武","玄武","漫语","戏神");//虚假数

$Wsss = bz_youwu5($kongpo_arr,$xujia_arr,array("坐空","破碎"),0);
print_r($Wsss); 0.75

如果虚假数里面包含/空破数,那么返回包含的比例,100%为全部包含,第三个函数是要求//虚假数里有的,第四个参数是0必有这几个中的一个,1是必全有"坐空","破碎"这几个。


    function bz_youwu5($tiangan,$array,$str,$strN){   //返回八字中的有无函数,第四个参数是必有还是包含0为包含1为必有,  第三个是要素,是个字符串或数组,0是无所谓。第一个变量是数组 第二个是数组,看看中有没有第一个数组中的值,有几个匹配,返回有的个数,没有返回0
           $toubutou=array();
           $num =  count($tiangan);
           $toubutou=array_intersect($tiangan,$array);
           $num2 =  count($toubutou);
          if($num2 > 0){ $num_a =  round(($num2/$num),2); 
            }else{ $num_a=0; }
             $num_b=0; 
        if(!empty($str)){
                  if(is_array($str)){  
                       if($strN==1){     if(count($str) ==count(array_intersect($str,$array))){ return $num_a;    }else{  return $num_b;   }
                          }else{  
                                if(count(array_intersect($str,$array)) >0 ){ return $num_a;    }else{  return $num_b;   }
                          }
                    }else{  if(in_array($str,$array)){return $num_a;  }else{  return $num_b;    }       }
         }else{  
               return $num_a;
            }  
    }