Anonymous user
Luhn test of credit card numbers: Difference between revisions
→{{header|PHP}}: different version
(Simplified D code) |
(→{{header|PHP}}: different version) |
||
Line 1,155:
=={{header|PHP}}==
{{trans|C}}
<lang php>function luhn($num){▼
<lang php>$numbers = "49927398716 49927398717 1234567812345678 1234567812345670";
foreach (split(' ', $numbers) as $n)
echo "$n is ", luhnTest($n) ? 'valid' : 'not valid', '</br>';
for ($i = strlen($num)-1; $i>=0; $i--){▼
$ord = ord($num[$i]);
if (($len - 1) & $i) {
} else {
$sum += $ord / 5 + (2 * $ord) % 10;
return ($sum%10==0);▼
}
}
}</lang>
<pre>49927398716 is valid
49927398717 is not valid
1234567812345678 is not valid
1234567812345670 is valid</pre>
=={{header|PicoLisp}}==
|