GB/T 17710-1999 PHP生成校验码
校验码算法描述如下:详细:http://wenku.baidu.com/link?url=CDvNJ1sLYOPzbbxjEy5R-oME95RlfTCUU5-I5M0bqUt0I32b0Xd0EKmI-HiFQHhY8OcB6ERTml7pUwXFseLl8GGvkuc7w0V2sFDxi2H0XGC
本例子以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;
本文出自 “Cooke Chen 我爱小贝” 博客,请务必保留此出处http://cswei.blog.51cto.com/3443978/1584329
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。