日期:2014-05-17  浏览次数:20482 次

php生成会员卡做跳4,7的操作
if(preg_match( "/4/", $strMaxcardid+$i)){ $cardCount ++ ; continue; } 想问一下,我想同时跳4,7该怎么写呢

------解决方案--------------------
PHP code
$strMaxcardid = 699; //上一个号码
while(preg_match('/(4|7)+/', ++$strMaxcardid)) $strMaxcardid ++;
echo $strMaxcardid; //800

------解决方案--------------------
PHP code
//这样应该比较高效了,不需要用正则
$strMaxcardid = 699;
$ar = str_split(++$strMaxcardid);
foreach($ar as $k => $v) {
    if ($v == 4 || $v == 7) {
        $ar[$k] ++;
        break;
    }
}

$strMaxcardid = join('', $ar);
echo $strMaxcardid; //800