Like any other scripting language, PHP can manipulate variables: tokens that store values that can be altered or changed. There are a few points to note regarding PHP variables in particular:
- In PHP a variable is created by having a
$
sign in front of the variable name; for example:$foo
. - The variable name must follow the standard naming convention we have kept to thus far. i.e. alphanumerics only, no spaces or other odd characters. A variable may start with an underscore (
$_foo
) but not a number. You cannot use the term$this
as a variable, as it is reserved. - Variables are case sensitive.
$foo
is a different variable from$Foo
. It is traditional to start a variable name as lowercase, and to capitalise any words appended to the name (aka camelCase). For example:$customerFirstName
. camelCase is optional; the important thing is to be consistent in whatever naming convention you decide to use. - Variables in PHP are not typed or scoped: that is, by default they are not explicitly set for handling numbers, characters, or any type of data in particular. A variable can change from holding a number to a letter to an array at any time.
- Variables take the last value they are set to. That is, you cannot make a variable that cannot have its value changed. (That, by definition, would be a constant). Remember that PHP scripts are executed “top down” just as HTML is, in the order that it is written. A typical error by developers beginning with work with PHP is testing a variable via an
if
statement before setting it to a value. - Variables can be created “on the fly” at any point inside a PHP script, and by association anywhere on a web page; they do not have to be declared.
- User-created variables are not global by default. That is, variables are not passed automatically between the pages of a website.
- Variables can be concatenated.
- Variables may contain arrays, strings, and other variables. Variables are not interdependent; that is, setting
$x = $y
and later changing the value of$y
will not automatically change the value of$x
Some variables are predefined. These can usually be identified by the fact that they are always written in uppercase; for example
$_SERVER['HTTP_USER_AGENT']
Photograph by Andrew Birch, used under a Creative Commons Attribution Non-Commercial No-Derivs license
Enjoy this piece? I invite you to follow me at twitter.com/dudleystorey to learn more.