PHP Variable Handling gettype() Function



The PHP Variable Handling gettype() function is used to PHP's gettype() function is useful to identify the type of a variable. It returns the type as a string, such "integer" or "string". This method is useful to identify the type of data a variable holds. For example, it can check to see if a variable contains a number, text, or an array.

PHP supports a wide range of data types, including integers, floats, booleans, and objects. The gettype() method helps in detecting specific types. If a variable has a value of 5, gettype() returns "integer". If the text is "Hello", it returns "string".

While gettype() is useful, PHP also has specific is_* functions for better type testing. Examples are is_int() and is_string(). The gettype() function allows developers to study variables and write better PHP code without facing unexpected errors.

Closed resources are denoted as "resource (closed)" in PHP 7.2 and beyond. Previously, they were classified as "unknown type".

Syntax

Below is the syntax of the PHP Variable Handling gettype() function −

string gettype ( mixed $value )

Parameters

This function accepts $value parameter which is the variable being type checked.

Return Value

The gettype() function returns a string that represents the type of the given variable. Below are the possible return values −

  • boolean: When the variable is true or false.

  • integer: When the variable holds a whole number (for example, 5, -10).

  • double: When the variable holds a decimal number (for example, 3.14, 2.5).

  • string: When the variable holds text (for example, 'Hello', 'PHP').

  • array: When the variable is an array (for example, [1, 2, 3]).

  • object: When the variable is an object (an instance of a class).

  • resource: When the variable is a resource (for example, file handle, database connection).

  • resource (closed): When the resource is closed (introduced in PHP 7.2).

  • NULL: When the variable has no value or is explicitly set to null.

  • unknown type: When the variable type is unknown (rare case).

PHP Version

First introduced in core PHP 4, the gettype() function continues to function easily in PHP 5, PHP 7, and PHP 8.

Example 1

This simple program defines a variable with an integer value and uses the PHP Variable Handling gettype() function to check its type. It then prints the type.

<?php
   // Define an integer variable
   $num = 10; 
   echo gettype($num); 
?>

Output

Here is the outcome of the following code −

integer

Example 2

In the below PHP code we will use the gettype() function and check different data types. So we will check different variable types, like string, float and boolean.

<?php
   // String variable
   $str = "Hello"; 

   // Float variable
   $floatNum = 3.14; 

   // Boolean variable
   $boolVal = true; 

   echo gettype($str) . "\n"; 
   echo gettype($floatNum) . "\n";
   echo gettype($boolVal) . "\n"; 
?> 

Output

This will generate the below output −

string
double
boolean

Example 3

Now the below code uses the gettype() function for checking an array and an object. So the program checks the types of an array and an object with the help of gettype() function. It also shows object type checking.

<?php
   // Define a class
   class Car {} 

   // Create an object
   $obj = new Car(); 

   // Define an array
   $arr = [1, 2, 3]; 

   echo gettype($arr) . "\n";
   echo gettype($obj) . "\n";
?> 

Output

This will create the below output −

array
object

Example 4

In the following example, we are using the gettype() function to check resource and null types. So the program opens a file (resource) first and checks its type, closes it and then checks the type again. It also checks a NULL variable.

<?php
   // Open a file (resource)
   $file = fopen("/PHP/PhpProjects/myfile.txt", "w"); 
   echo gettype($file) . "\n"; 

   // Close the resource
   fclose($file); 
   echo gettype($file) . "\n"; 


   // Define a NULL variable
   $var = NULL; 
   echo gettype($var);
?> 

Output

Following is the output of the above code −

resource
resource (closed)
NULL
php_variable_handling_functions.htm
Advertisements