Catégories
Développement PHP Tutoriels

fonction de Luhn en php

Après avoir regarder du côté de wikipédia, j’ai pu construire la fonction de Luhn permettant entre autre de vérifier des numéros de carte bancaire.

//Fonction algorithme de Luhn
function isLuhnNum($num)
{
	//longueur de la chaine $num
	$length = strlen($num);
	
	//resultat de l'addition de tous les chiffres
	$tot = 0;
	for($i=$length-1;$i>=0;$i--)
	{
		$digit = substr($num, $i, 1);
		
		if ((($length - $i) % 2) == 0)
		{
			$digit = $digit*2;
			if ($digit>9)
			{
				$digit = $digit-9;
			}
		}
		$tot += $digit;
	}
	
	return (($tot % 10) == 0);
}

Merci à Andras pour sa précision 😉