ホームページ >バックエンド開発 >PHPチュートリアル >PHP は、クレジット カード番号が有効かどうかを検証する Luhn アルゴリズムを実装します_PHP チュートリアル
この記事では、Luhn アルゴリズムを通じてクレジット カード番号が有効かどうかを検証する PHP 実装を主に紹介し、PHP での Luhn アルゴリズムの実装を分析します。および関連するアプリケーションスキルには特定の参照ポイントがあり、必要な友人はそれを参照できます
この記事の例では、PHP が Luhn アルゴリズムを実装してクレジット カード番号が有効かどうかを検証する方法を説明します。皆さんの参考に共有してください。具体的な実装方法は以下の通りです
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$numbers = "49927398716 49927398717 1234567812345678 1234567812345670"; foreach (split(' ', $numbers) as $n) echo "$n は ", luhnTest($n) ? '有効' : '無効', '';
関数 luhnTest($num) { $len = strlen($num); for ($i = $len-1; $i >= 0; $i--) { $ord = ord($num[$i]); if (($len - 1) & $i) { $sum += $ord; } 他 { $sum += $ord / 5 + (2 * $ord) % 10; } } return $sum % 10 == 0; } |
実行結果
?
1 2 3 4 |
49927398716は有効です 49927398717 は無効です 1234567812345678 は無効です 1234567812345670は有効です |
より簡潔なコードは次のとおりです:
コードは次のとおりです:
出力結果は以下の通りです
?
1 2 3 4 |
49927398716は有効です 49927398717 は無効です 1234567812345678 は無効です 1234567812345670は有効です |
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。