php生成会员卡做跳4,7的操作 if(preg_match( "/4/", $strMaxcardid+$i)){ $cardCount ++ ; continue; } 想问一下,我想同时跳4,7该怎么写呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $strMaxcardid = 699; //上一个号码while(preg_match('/(4|7)+/', ++$strMaxcardid)) $strMaxcardid ++;echo $strMaxcardid; //800 preg_match( "/[47]/", $strMaxcardid+$i) 这个有问题,修改一下:$strMaxcardid = 699; //上一个号码$strMaxcardid ++;while(preg_match('/(4|7)+/', $strMaxcardid)) $strMaxcardid ++;echo $strMaxcardid; //800不过这个方法效率极低,比如生成上面这个800就要执行100次while循环,工号不会出现很大数字的情况下还可以用用。 //这样应该比较高效了,不需要用正则$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 setcookie奇怪的问题.大家看一下 单例模式的写法 --一段php代码的疑惑 高手帮忙看看这样的功能要怎么实现 为什么我的mail函数不起作用!!高手指点 php乱码问题 LINUX 服务器下 php 找不到 php_mbstring.dll php_mcrypt.dll 信息保留问题 mssql_bind问题 session问题,请关照 在自己做的网站上,想对新注册用户做邮件推送,用个人邮箱可以,但企业邮箱始终不行,请各路高手指教。 php apc locking type是什么 PHP正则表达式 问题
while(preg_match('/(4|7)+/', ++$strMaxcardid)) $strMaxcardid ++;
echo $strMaxcardid; //800
这个有问题,修改一下:
$strMaxcardid = 699; //上一个号码
$strMaxcardid ++;
while(preg_match('/(4|7)+/', $strMaxcardid)) $strMaxcardid ++;
echo $strMaxcardid; //800不过这个方法效率极低,比如生成上面这个800就要执行100次while循环,工号不会出现很大数字的情况下还可以用用。
$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