How to check if two halves of a number are equal in PHP

1 Answer

0 votes
function halvesEqual(int $n): bool {
    $s = (string)$n;
    $len = strlen($s);

    if ($len % 2 !== 0) {
        return false; // cannot split evenly
    }

    $half = $len / 2;

    $left  = substr($s, 0, $half);
    $right = substr($s, $half, $half);

    return $left === $right;
}

$testNumbers = [1212, 123123, 45454545, 123, 1213];

foreach ($testNumbers as $n) {
    echo $n . " -> " . (halvesEqual($n) ? "equal halves" : "not equal") . PHP_EOL;
}



/*
run:

1212 -> equal halves
123123 -> equal halves
45454545 -> equal halves
123 -> not equal
1213 -> not equal

*/

 



answered Dec 21, 2025 by avibootz
...