温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

GB/T 17710-1999 PHP生成校验码

发布时间:2020-08-12 08:33:12 来源:网络 阅读:1696 作者:低吟浅唱 栏目:web开发

校验码算法描述如下:详细:http://wenku.baidu.com/link?url=CDvNJ1sLYOPzbbxjEy5R-oME95RlfTCUU5-I5M0bqUt0I32b0Xd0EKmI-HiFQHhY8OcB6ERTml7pUwXFseLl8GGvkuc7w0V2sFDxi2H0XGC


GB/T 17710-1999 PHP生成校验码

GB/T 17710-1999 PHP生成校验码

GB/T 17710-1999 PHP生成校验码


本例子以16位编号为例子,用PHP予以实现,代码如下:

$m = '';
	$str = '440400131008309';
	$str.= 'a';
/* 测试用例,最后一位为校验码
4404021110060840
4404001310083095
4404021150062404
*/
	function p($str,$n)
	{
		if ($n == 1)
		{
			return 10;
		}
		else
		{
			$num = $str[$n-2];
			$s = p($str,$n-1)%11 + $num;
			return ($s%10==0?10:$s%10)*2; 
		}
	}

	$p = p($str,16);
	for($i=0;$i<10;$i++){
		if (($p%11 + $i)%10 == 1){
			$m = $i;
			break;
		}
	}
	echo $m;


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI