PHP MySQL Tutorial
Learn PHP and MySQL

PHP Variables

Page Details

Published by:
admin
on 12-19-2008
2 people found this article useful.

66% of people found this useful
PHP Variables

Variables in PHP are represented by a dollar sign followed by the name of the variable. The variable name is case-sensitive, so $myvar is different from $myVar.

A valid variable name starts with a letter or underscore, followed by any number of letters, numbers, or underscores.

Example :

<?php
$myvar          = "Hello";     // valid
$yourVar_is-123 = "World";     // valid
$123ImHere      = "Something"; // invalid, starts with number
?>


Variable Scope

The scope of a variable is the context within which it is defined. Basically you can not access a variable which is defined in different scope.

The script below will not produce any output because the function Test() declares no $a variable. The echo statement looks for a local version of the $a variable, and it has not been assigned a value within this scope. Depending on error_reporting value in php.ini the script below will print nothing or issue an error message.

 

<?php
$a = 1; // $a is a global variable

function Test()
{
   echo $a; // try to print $a, but $a is not defined here
}

Test();
?>

If you want your global variable (variable defined outside functions) to be available in function scope you need to use the$global keyword. The code example below shows how to use the $global keyword.

<?php
$a = 1; // $a is defined in global scope ...
$b = 2; // $b too

function Sum()
{
   global $a, $b; // now $a and $b are available in Sum()
   $b = $a + $b;
}

Sum();
echo $b;
?>

PHP Superglobals

Superglobals are variables that available anywhere in the program code. They are :

  • $_SERVER
    Variables set by the web server or otherwise directly related to the execution environment of the current script. One useful variable is $_SERVER['REMOTE_ADDR'] which you can use to know you website visitor's IP address
     
    Your computer IP is
    <?php
    echo $_SERVER['REMOTE_ADDR'];
    ?>
  • $_GET
    Variables provided to the script via HTTP GET. You can supply GET variables into a PHP script by appending the script's URL.
    or set the a form method as method="get"
     
    <?php
    echo "My name is {$_GET['name']} <br>";
    echo "My friend's name is {$_GET['friend']}";
    ?>
    Note that I put $_GET['name'] and $_GET['friend'] in curly brackets. It's necessary to use these curly brackets when you're trying to place the value of an array into a string.

    You can also split the string like this :
    echo "My name is " . {$_GET['name']} . "<br>";
    but it is easier to put the curly brackets.
  • $_POST
    Variables provided to the script via HTTP POST. These comes from a form which set method="post"
  • $_COOKIE
    Variables provided to the script via HTTP cookies.
  • $_FILES
    Variables provided to the script via HTTP post file uploads. You can see the example in
    Uploading files to MySql Database
  • $_ENV
    Variables provided to the script via the environment.
  • $_REQUEST
    Variables provided to the script via the GET, POST, and COOKIE input mechanisms, and which therefore cannot be trusted. It's use the appropriate $_POST or $_GET from your script instead of using $_REQUEST so you will always know that a variable comes from POST or GET.
  • $GLOBALS
    Contains a reference to every variable which is currently available within the global scope of the script.

You usually won't need the last three superglobals in your script.

Recent Comments

By: john9 Posted on 03-19-2015 8:01 AM
By: xenogeny Posted on 09-16-2015 3:50 AM

www.youtube.com/watch?v=FrZRIW87eWI

Powered by Community Server (Non-Commercial Edition), by Telligent Systems