Page 77 - Open Soource Technologies 304.indd
P. 77
Open Source Technologies
Notes 6.1 Building Blocks of PHP
6.1.1 Variables
Variables in PHP are quite different from compiled languages such as C and Java. This is because
their weakly typed nature, which in short means you don’t need to declare variables before using
them, you don’t need to declare their type and, as a result, a variable can change the type of its
value as much as you want. Variables in PHP are preceded with a $ sign, and similar to most
modern languages, they can start with a letter (A-Za-z) or _ (underscore) and can then contain
as many alphanumeric characters and underscores as you like.
Examples of legal variable names include
$count
$_Obj
$A123
Example of illegal variable names include
$123
$*ABC
As previously mentioned, you don’t need to declare variables or their type before using them
in PHP. The following code example uses variables:
$PI = 3.14;
$radius = 5;
$circumference = $PI * 2 * $radius; // Circumference = π * d
You can see that none of the variables are declared before they are used. Also, the fact that $PI
is a floating-point number, and $radius (an integer) is not declared before they are initialized.
PHP does not support global variables like many other programming languages (except for
some special pre-defined variables, which we discuss later). Variables are local to their scope,
and if created in a function, they are only available for the lifetime of the function. Variables
that are created in the main script (not within a function) aren’t global variables; you cannot see
them inside functions, but you can access them by using a special array $GLOBALS[], using the
variable’s name as the string offset. The previous example can be rewritten the following way:
$PI = 3.14;
$radius = 5;
$circumference = $GLOBALS[“PI”] * 2 * $GLOBALS[“radius”];
→ // Circumference = π * d
You might have realized that even though all this code is in the main scope (we didn’t make
use of functions), you are still free to use $GLOBALS[], although in this case, it gives you no
advantage.
72 LOVELY PROFESSIONAL UNIVERSITY