PHP | gmp_perfect_square() Function
Last Updated :
11 Jul, 2025
The gmp_perfect_square() is an inbuilt function in PHP which checks if the given GMP number(
GNU Multiple Precision: For large numbers) is a perfect square or not.
Syntax:
gmp_perfect_square($num)
Parameters: The function accepts one GMP number
$num. This parameter can be a GMP object in PHP version 5.6 and later, or we are also allowed to pass a numeric string provided that it is possible to convert that string to a number.
Return Value: The function returns
true if the given number
$num is a perfect square, otherwise it returns
false.
Examples:
Input : $num=25
Output : true
Input : $num=10
Output : false
Below programs illustrate the use of gmp_perfect_square() function:
Program 1: The program below demonstrates the working of gmp_perfect_square() function when GMP number is passed as an argument.
php
<?php
// PHP program to check the if the
// number is perfect square or not
// numeric string arguments
$num = gmp_init("1001", 2);
// checks if 9 (1001) is a perfect number or not
var_dump(gmp_perfect_square($num))."\n";
$num = gmp_init("11001", 2);
// checks if 25 (11001) is a perfect number or not
var_dump(gmp_perfect_square($num))."\n";
$num = gmp_init("1100", 2);
// checks if 12 (1100) is a perfect number or not
var_dump(gmp_perfect_square($num));
?>
Output:
bool(true)
bool(true)
bool(false)
Program 2: The program below demonstrates the working of gmp_perfect_square() when numeric string is passed as an argument.
php
<?php
// PHP program to check the if the
// number is perfect square or not
// numeric string arguments
$num = "9";
// checks if 9 (1001) is a perfect number or not
var_dump(gmp_perfect_square($num))."\n";
$num = "25";
// checks if 25 (11001) is a perfect number or not
var_dump(gmp_perfect_square($num))."\n";
$num = "12";
// checks if 12 (1100) is a perfect number or not
var_dump(gmp_perfect_square($num));
?>
Output:
bool(true)
bool(true)
bool(false)
Reference:
https://www.php.net/manual/en/function.gmp-perfect-square.php