Maison > développement back-end > tutoriel php > PHP utilise l'algorithme de Luhn pour vérifier si le numéro de carte de crédit est valide

PHP utilise l'algorithme de Luhn pour vérifier si le numéro de carte de crédit est valide

墨辰丷
Libérer: 2023-03-31 17:46:02
original
1432 Les gens l'ont consulté

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) ? &#39;valid&#39; : &#39;not valid&#39;, &#39;</br>&#39;;
 
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;
}
Copier après la connexion

Exécution des résultats

49927398716 is valid
49927398717 is not valid
1234567812345678 is not valid
1234567812345670 is valid
Copier après la connexion
Copier après la connexion

Ce qui suit est un code plus concis :

Le code est le suivant :

function luhn_test($num) {
    $str = &#39;&#39;;
    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(&#39;49927398716&#39;,&#39;49927398717&#39;,&#39;1234567812345678&#39;,&#39;1234567812345670&#39;) as $n)
echo "$n is ", luhn_test($n) ? &#39;valid&#39; : &#39;not valid&#39;, "</br>\n";
Copier après la connexion

Les résultats sont les suivants

49927398716 is valid
49927398717 is not valid
1234567812345678 is not valid
1234567812345670 is valid
Copier après la connexion
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal