Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
CRAP | |
100.00% |
11 / 11 |
CheckDigit | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
4 | |
100.00% |
11 / 11 |
modulus10wait3 | |
100.00% |
1 / 1 |
4 | |
100.00% |
11 / 11 |
<?php | |
namespace Puyo\Calc; | |
/** | |
* CheckDigit 算出 | |
*/ | |
class CheckDigit | |
{ | |
/** | |
* @param string|int $num | |
* @return string check digit | |
*/ | |
public static function modulus10wait3($num) { | |
$chars = array_reverse(str_split($num)); | |
$numOfChars = count($chars); | |
$total = 0; | |
for($i=0; $i<$numOfChars; $i++) { | |
$total += ( ($i+1) % 2) == 0 ? intval($chars[$i]) : intval($chars[$i])*3; | |
} | |
$totalLastChar = substr($total, strlen($total) - 1, 1); | |
$intCd = 10 - intval($totalLastChar); | |
if($intCd < 10) { | |
return strval($intCd); | |
} else { | |
return '0'; | |
} | |
} | |
} |