Sha256: 26dbc31323264750830d2633fcb5f273543131feead9af61e6976a06348ce4d7

Contents?: true

Size: 572 Bytes

Versions: 275

Compression:

Stored size: 572 Bytes

Contents

<?php

function isValid($candidate)
{
    $sanitizedCandidate = str_replace(" ", "", $candidate) ;

    if (strlen($sanitizedCandidate) <= 1 || !ctype_digit($sanitizedCandidate)) {
        return false ;
    }

    $reversseCandidate = strrev($sanitizedCandidate) ;
    $sum = 0 ;

    for ($i = 1; $i < strlen($reversseCandidate); $i+=2) {
        $digit = 2 * intval($reversseCandidate{$i}) ;

        if ($digit > 9) {
            $digit -= 9 ;
        }

        $sum += $digit ;
        $sum += intval($reversseCandidate{$i-1}) ;
    }

    return $sum % 10 == 0 ;
}

Version data entries

275 entries across 275 versions & 1 rubygems

Version Path
trackler-2.1.0.41 tracks/php/exercises/luhn/example.php
trackler-2.1.0.40 tracks/php/exercises/luhn/example.php
trackler-2.1.0.39 tracks/php/exercises/luhn/example.php
trackler-2.1.0.38 tracks/php/exercises/luhn/example.php
trackler-2.1.0.37 tracks/php/exercises/luhn/example.php
trackler-2.1.0.36 tracks/php/exercises/luhn/example.php
trackler-2.1.0.34 tracks/php/exercises/luhn/example.php
trackler-2.1.0.33 tracks/php/exercises/luhn/example.php
trackler-2.1.0.32 tracks/php/exercises/luhn/example.php
trackler-2.1.0.31 tracks/php/exercises/luhn/example.php
trackler-2.1.0.30 tracks/php/exercises/luhn/example.php
trackler-2.1.0.29 tracks/php/exercises/luhn/example.php
trackler-2.1.0.28 tracks/php/exercises/luhn/example.php
trackler-2.1.0.27 tracks/php/exercises/luhn/example.php
trackler-2.1.0.26 tracks/php/exercises/luhn/example.php
trackler-2.1.0.25 tracks/php/exercises/luhn/example.php
trackler-2.1.0.24 tracks/php/exercises/luhn/example.php
trackler-2.1.0.23 tracks/php/exercises/luhn/example.php
trackler-2.1.0.22 tracks/php/exercises/luhn/example.php
trackler-2.1.0.21 tracks/php/exercises/luhn/example.php