What are the common pitfalls when using PHP to create a prime number tester with if and for loops?

One common pitfall when using PHP to create a prime number tester with if and for loops is not properly handling edge cases, such as checking if the number is less than 2 or if it is divisible by 2. To solve this, you should add conditions to check for these cases before proceeding with the prime number test.

function isPrime($num) {
    if ($num < 2) {
        return false;
    }
    
    if ($num == 2) {
        return true;
    }

    if ($num % 2 == 0) {
        return false;
    }

    for ($i = 3; $i <= sqrt($num); $i += 2) {
        if ($num % $i == 0) {
            return false;
        }
    }

    return true;
}

// Test the function
$num = 17;
if (isPrime($num)) {
    echo $num . ' is a prime number.';
} else {
    echo $num . ' is not a prime number.';
}