PHP Variable Types


Like other programming languages, PHP variables include number, boolean, string, array etc. However, PHP do not need to specify the variable type when a variable is defined, you just put a '$' symbol in front of all variables. For Example:

<?PHP
$id=3;  //number
$name="John Smith";  //string
$arr = array();   //array
$status = FALSE;  //boolean
?>

PHP function gettype() can be used to determine the variable type:
<?PHP
$id=3;
$tp=gettype($id);
echo "$tp";  //integer
?>

When change a variable type to another type, e.g. from number to string, no casting is needed, PHP will automatically transform the variable type. For Example:
<?PHP
$id=3;
echo "The ID is $id.\n";  //Result: The ID is 3.
?>

However, PHP can also change the variable type by casting or by various functions including settype(), intval(), doubleval():
<?PHP
$id=3;
$idstr = (string) $id;
echo gettype($id);  //integer
echo gettype($idstr);  //string
settype($id,"string");
echo gettype($id);  //string
$id= intval($id);
echo gettype($id);  //integer
$id= doubleval($id);
echo gettype($id);  //double
?>

There are several useful functions can be used to check whether a variable is defined, or is empty, or is a specified type. These functions include isset(), empty(), is_int(), is_double(), is_string(), is_array(), is_bool(), is_object().
<?PHP
if (isset($tp)) echo "defined";
$tp = "";
if (isset($tp)) echo "defined";
if (empty($tp)) echo "empty";
$tp = "monday";
if (!empty($tp)) echo "not empty";
echo gettype($tp);
if (is_string($tp)) echo "is string";
?>

PHP has a lot of builtin variables, these variables can be listed by function phpinfo().
<?PHP
phpinfo();
$ip = getenv("REMOTE_ADDR");  //get the web user's IP address
?>