Heim  >  Artikel  >  Backend-Entwicklung  >  PHP verwendet den Luhn-Algorithmus, um zu überprüfen, ob die Kreditkartennummer gültig ist

PHP verwendet den Luhn-Algorithmus, um zu überprüfen, ob die Kreditkartennummer gültig ist

墨辰丷
墨辰丷Original
2018-06-12 10:35:551413Durchsuche

In diesem Artikel wird hauptsächlich die Implementierung von PHP zur Überprüfung der Gültigkeit von Kreditkartennummern anhand von Beispielen vorgestellt Bedarf kann darauf verweisen

Das Beispiel in diesem Artikel beschreibt, wie PHP den Luhn-Algorithmus implementiert, um zu überprüfen, ob eine Kreditkartennummer gültig ist. Die spezifische Implementierungsmethode lautet wie folgt:

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

Laufergebnis

49927398716 is valid
49927398717 is not valid
1234567812345678 is not valid
1234567812345670 is valid

Das Folgende ist ein prägnanterer Code:

Der Code lautet wie folgt:

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

Das Ausgabeergebnis ist wie folgt

49927398716 is valid
49927398717 is not valid
1234567812345678 is not valid
1234567812345670 is valid

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

PHP-Methode zum Subtrahieren zweier Arrays

Rekursive PHP-Funktion zum Durchlaufen und Löschen von Dateien

So sortieren Sie assoziative Arrays in PHP

Das obige ist der detaillierte Inhalt vonPHP verwendet den Luhn-Algorithmus, um zu überprüfen, ob die Kreditkartennummer gültig ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn