PHP supports the following basic data types:
Integer— Used for whole numbers
Float (also called double)— Used for real numbers
String— Used for strings of characters
Boolean— Used for true or false values
Array— Used to store multiple data items (see Chapter 3, “Using Arrays”)
Object— Used for storing instances of classes (see Chapter 6)
Three special types are also available: NULL, resource, and callable.
Variables that have not been given a value, have been unset, or have been given the specific value NULL are of type NULL.
Certain built-in functions (such as database functions) return variables that have the type resource. They represent external resources (such as database connections). You will almost certainly not directly manipulate a resource variable, but frequently they are returned by functions and must be passed as parameters to other functions.
Callables are essentially functions that are passed to other functions.
UNDERSTANDING VARIABLE SCOPE
The term scope refers to the places within a script where a particular variable is visible. The six basic scope rules in PHP are as follows:
Built-in superglobal variables are visible everywhere within a script.
Constants, once declared, are always visible globally; that is, they can be used inside and outside functions.
Global variables declared in a script are visible throughout that script, but not inside functions.
Variables inside functions that are declared as global refer to the global variables of the same name.
Variables created inside functions and declared as static are invisible from outside the function but keep their value between one execution of the function and the next.
Variables created inside functions are local to the function and cease to exist when the function terminates.
The arrays $_GET and $_POST and some other special variables have their own scope rules. They are known as superglobals and can be seen everywhere, both inside and outside functions.
The complete list of superglobals is as follows:
$GLOBALS — An array of all global variables (Like the global keyword, this allows you to access global variables inside a function—for example, as $GLOBALS['myvariable'].)
$_SERVER — An array of server environment variables
$_GET — An array of variables passed to the script via the GET method
$_POST — An array of variables passed to the script via the POST method
$_COOKIE — An array of cookie variables
$_FILES — An array of variables related to file uploads
$_ENV — An array of environment variables
$_REQUEST — An array of all user input including the contents of input including $_GET, $_POST, and $_COOKIE (but not including $_FILES)
$_SESSION — An array of session variables
The following example demonstrates the settype() function in PHP