Maison  >  Article  >  développement back-end  >  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

墨辰丷
墨辰丷original
2018-06-12 10:35:551362parcourir

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;
}

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 = &#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";

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!

Déclaration:
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