モジュラス10ウエイト3のチェックデジット
必要があって書いた
<?php function mod10( $value, $weight = 3 ) { $length = strlen( $value ); $v = strrev( $value ); $sum = 0; for($i=0;$i<$length;$i++) { //偶数列 $char = (int)$v[$i]; //奇数列 if( $i % 2 == 0 ){ $char = (int)$v[$i] * $weight; } $sum += $char; } $cd = 10 - ($sum % 10); if($cd == 10 ){ $cd = 0; } return $cd; }