Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save yanglr/ba68e1ae1f906771e96325f6a2e50783 to your computer and use it in GitHub Desktop.
Save yanglr/ba68e1ae1f906771e96325f6a2e50783 to your computer and use it in GitHub Desktop.
Luhn's algorithm in php
<?php
function is_valid_luhn($number) {
settype($number, 'string');
$sumTable = array(
array(0,1,2,3,4,5,6,7,8,9),
array(0,2,4,6,8,1,3,5,7,9));
$sum = 0;
$flip = 0;
for ($i = strlen($number) - 1; $i >= 0; $i--) {
$sum += $sumTable[$flip++ & 0x1][$number[$i]];
}
return $sum % 10 === 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment