Prime numbers are positive, non-zero numbers that have exactly two factors. No more, no less. So testing negative numbers doesn't really make any sense.
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
gmp_nextprime — Find next prime number
num
A GMP object, an int,
or a string that can be interpreted as a number following the same logic
as if the string was used in gmp_init() with automatic
base detection (i.e. when base
is equal to 0).
Return the next prime number greater than num
,
as a GMP number.
Example #1 gmp_nextprime() example
<?php
$prime1 = gmp_nextprime(10); // next prime number greater than 10
$prime2 = gmp_nextprime(-1000); // next prime number greater than -1000
echo gmp_strval($prime1) . "\n";
echo gmp_strval($prime2) . "\n";
?>
The above example will output:
11 2
Note:
This function uses a probabilistic algorithm to identify primes and chances to get a composite number are extremely small.
Prime numbers are positive, non-zero numbers that have exactly two factors. No more, no less. So testing negative numbers doesn't really make any sense.
Negative numbers N always have at least four factors: N*1=N and abs(N)*-1=N. Therefore, even if "natural number" weren't in the definition of a prime (which it is), no negative number would ever qualify. Therefore, the next-largest prime number to any negative number is always 2.