How to check if a number is pandigital in PHP

1 Answer

0 votes
function isPandigitalRange($num, $start = 1, $end = 9) {
    $str = (string)$num;

    // Build the expected digit string
    $expected = implode('', range($start, $end));

    // Sort digits of the number
    $digits = str_split($str);
    sort($digits);
    $sorted = implode('', $digits);

    return $sorted === $expected;
}

var_dump(isPandigitalRange(123456789));        
var_dump(isPandigitalRange(1023456789, 0, 9)); 
var_dump(isPandigitalRange(987654321));        
var_dump(isPandigitalRange(123456780));    
var_dump(isPandigitalRange(123456780));  
var_dump(isPandigitalRange(123455789));  
var_dump(isPandigitalRange(12345)); 



/*
run:

bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)

*/

 



answered Dec 30, 2023 by avibootz
edited Feb 25 by avibootz
...