/** * 闭包递归兼容省级 */ if(($adcode%100)==0){ $adcode_str = (int)($adcode); $fn = function (&$adcode_str) use(&$fn){//use参数传递的是函数闭包函数自身 if(($adcode_str%10)==0){//递归点,也就是递归的条件 $adcode_str = (int)($adcode_str/10); //递归调用自己 $fn($adcode_str); } return $adcode_str; }; $adcode_str = $fn($adcode_str); $adcode_str = "$adcode_str%"; $where['adcode'] = array('like',$adcode_str); }else{ $where['adcode'] = $adcode; }