이 기사의 예에서는 PHP가 Luhn 알고리즘을 구현하여 신용 카드 번호가 유효한지 확인하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.
$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; }
실행 결과
49927398716 is valid 49927398717 is not valid 1234567812345678 is not valid 1234567812345670 is valid
더 간결한 코드는 다음과 같습니다.
출력 결과는 다음과 같습니다
49927398716 is valid 49927398717 is not valid 1234567812345678 is not valid 1234567812345670 is valid
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.