diff --git a/src/CreditCard.php b/src/CreditCard.php index 049c497..48fa7bf 100755 --- a/src/CreditCard.php +++ b/src/CreditCard.php @@ -223,12 +223,13 @@ protected static function luhnCheck($number) { $checksum = 0; for ($i = (2 - (strlen($number) % 2)); $i <= strlen($number); $i += 2) { - $checksum += (int)($number{$i - 1}); + $checksum += (int) substr($number, $i - 1, 1); } // Analyze odd digits in even length strings or even digits in odd length strings. for ($i = (strlen($number) % 2) + 1; $i < strlen($number); $i += 2) { - $digit = (int)($number{$i - 1}) * 2; + $digit = (int) substr($number, $i - 1, 1); + $digit *= 2; if ($digit < 10) { $checksum += $digit; } else {