tdely / luhn
PHP implementation of the Luhn algorithm.
v1.0.0
2018-10-12 10:43 UTC
Requires
- php: ^7.0
This package is auto-updated.
Last update: 2025-07-13 02:41:58 UTC
README
PHP implementation of the Luhn algorithm. Commonly used in identification numbers, including IMEI and credit card numbers.
Unlike some implementations this one handles both odd and even number of digits.
Example
<?php
// Preferably autoload instead of using require
require 'src/Luhn.php';
use Tdely\Luhn\Luhn;
$original = 82356937851;
// Calculate check digit
var_dump(Luhn::checksum($original)); // int(1)
// Calculate and add check digit to number
$checksum = Luhn::create($original);
var_dump($checksum); // string(12) "823569378511"
// Validate numbers
var_dump(Luhn::isValid($original)); // bool(false)
var_dump(Luhn::isValid($checksum)); // bool(true)