Cet article présente principalement l'implémentation de PHP pour vérifier si le numéro de carte de crédit est valide via l'algorithme de Luhn. Il analyse l'implémentation de l'algorithme de Luhn en PHP et les techniques d'application associées avec des exemples. besoin peut s'y référer
L'exemple de cet article décrit comment PHP implémente l'algorithme de Luhn pour vérifier si un numéro de carte de crédit est valide. La méthode de mise en œuvre spécifique est la suivante :
$numbers = "49927398716 49927398717 1234567812345678 1234567812345670"; foreach (split(' ', $numbers) as $n) echo "$n is ", luhnTest($n) ? 'valid' : 'not valid', '</br>'; function luhnTest($num) { $len = strlen($num); for ($i = $len-1; $i >= 0; $i--) { $ord = ord($num[$i]); if (($len - 1) & $i) { $sum += $ord; } else { $sum += $ord / 5 + (2 * $ord) % 10; } } return $sum % 10 == 0; }
Exécution des résultats
49927398716 is valid 49927398717 is not valid 1234567812345678 is not valid 1234567812345670 is valid
Ce qui suit est un code plus concis :
Le code est le suivant :
function luhn_test($num) { $str = ''; foreach( array_reverse( str_split( $num ) ) as $i => $c ) $str .= ($i % 2 ? $c * 2 : $c ); return array_sum( str_split($str) ) % 10 == 0; } foreach (array('49927398716','49927398717','1234567812345678','1234567812345670') as $n) echo "$n is ", luhn_test($n) ? 'valid' : 'not valid', "</br>\n";
Les résultats sont les suivants
49927398716 is valid 49927398717 is not valid 1234567812345678 is not valid 1234567812345670 is valid
Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun.
Recommandations associées :
Méthode php pour soustraire deux tableaux
Fonction récursive php pour parcourir et supprimer des fichiers
Comment trier les tableaux associatifs en php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!