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 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 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:
http://php.net/manual/en/function.gmp-perfect-square.php
