PHP는 신용카드 번호에 문제가 있는지 어떻게 확인하나요? 본 글에서는 신용카드 번호가 유효한지 확인하기 위한 Luhn 알고리즘의 PHP 구현을 주로 소개하고, 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
다음은 좀 더 간결한 코드입니다.
function luhn_test($num) { $str = ''; 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('49927398716','49927398717','1234567812345678','1234567812345670') as $n) echo "$n is ", luhn_test($n) ? 'valid' : 'not valid', "</br>\n";
출력 결과는 다음과 같습니다.
49927398716 is valid 49927398717 is not valid 1234567812345678 is not valid 1234567812345670 is valid
관련 권장사항:
php 방문자가 검색 엔진 스파이더인지 확인하는 함수 코드
PHP 클라이언트가 IOS인지 Android인지 확인하세요
위 내용은 PHP 확인 신용카드 번호 예시의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!