If you don’t use functions, any variable you create can be used anywhere in a page. With functions, this is not always true. Functions keep their own sets of variables that are distinct from those of the page and of other functions.
The variables defined in a function, including its parameters, are not accessible outside the function, and, by default, variables defined outside a function are not accessible inside the function. The following example illustrates this:
$a inside the
foo() is a different variable
than the variable
$a outside the
function; even though
foo() uses the
add-and-assign operator, the value of the outer
throughout the life of the page. Inside the function,
$a has the value
As we discussed in Chapter 2, the extent to which a variable can be seen in a program is called the scope of the variable. Variables created within a function are inside the scope of the function (i.e., have function-level scope). Variables created outside of functions and objects have global scope and exist anywhere outside of those functions and objects. A few variables provided by PHP have both function-level and global scope (often referred to as super-global variables).
At first glance, even an experienced programmer may think that in
the previous example
$a will be
5 by the time the
echo statement is reached, so keep that in mind
when choosing names for your variables.