PHP Superglobals are predefined global variables that are found within the PHP library. They can be accessed at any point of the program.

PHP Superglobals :

PHP superglobals are callable from whatever scope, whether it is within a class, function, or separate file.

There exists a list of PHP superglobals which are basic and commonly used. They are always written in capital letters.


This superglobal variable is used whenever there is the need to access global variables from anywhere within a PHP source script.

PHP reserves the global variables within a single array named $GLOBALS[index], where index represents the name of the specific variable.

$i = 12;
$j = 46;

function sum() {
$GLOBALS['x'] = $GLOBALS['i'] + $GLOBALS['j'];
echo "Addition : ". $x;


Addition : 58


This suberglobal variable is used to hold information related to paths, headers, and script locations in PHP.

php echo $_SERVER['HTTP_HOST']."</br>"; 
echo $_SERVER['SERVER_NAME']."</br>"; 
echo $_SERVER['SERVER_PORT']."</br>"; 



The above code extracts information from the server and presents it on the browser, which is represented by port 8080; as below:

There are many other $_SERVER[] superglobals existent in PHP.

They are listed below :

$_SERVER['SERVER_ADDR'] Returns the host server IP address

$_SERVER['PHP_SELF'] Displays the filename of the script being executed.

$_SERVER['SERVER_SOFTWARE'] Displays the server identification string.

These are few examples of the server-related superglobals. Refer to the Reference section for more Server superglobals.


It is a variable that is used to collect information after the submission of an HTML form.


It is a superglobal variable used in forms for data collection after submission of HTML forms. It can be used to pass variables. It is used with the method=”post”


It is commonly used with forms too, through the method=”get”. It can obtain hyperlinks and URLs to certain documents both online and offline.

Examples of the globals above are embedded within the following program:


        <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
            Name: <input type="text" name="textarea">
            <input type="submit">

        if ($_SERVER["REQUEST_METHOD"] == "POST") {
            $name = $_POST['textarea'];
            if (empty($name)) {
                echo "Please enter name";
            } else {
                echo $name;


PHP Superglobals

Happy Learning 🙂