A function is a block of code which can be called from any point in a script after it has been declared. It is basically a compartmentalized PHP script designed to accomplish a single task. Furthermore, code contained within functions is ignored until the function is called from another part in the script. Functions are useful because they contribute to rapid, reliable, error-reducing coding, and increase legibility by tiding up complicated code sequences.
It is good programming practice to use functions to modularize your code and to better provide reuse. To declare a function, you simply type:
<?php function function_name(param_1, ... , param_n) { statement_1; statement_2; ... statement_m;
return return_value; } ?> |
We can optionally pass parameters to the functions to be known as local variable, and we can also return a result with the "return value" statement. This produces the ending of the function returning a value.
Creating a simple function
Let's create two functions that will print the string "PHP Functions" five times, but the first one will not contain parameters, and the second one will. A function parameter is nothing more than a piece of data that the function requires to execute. In above example also included code to call the function.
<?php function firstFunction() { for($i = 0; $i != 5; $i++) echo "<P>PHP Functions!</P>"; }
function secondFunction($num, $msg) { for($i = 0; $i != $num; $i++) echo "<P>". $msg ."</P>"; }
echo "This is before the functions is called<br>";
echo "The first function output is:" firstFuction(5,"This is a function with parameters");
echo "The second function output is:"; secondFuction(5,"This is a function with parameters"); echo "This is after the function has been called<br>"; ?> |
Next example creates a function that will calculate arithmetic mean and return a result with the "return value" statement:
<?php function aritmetic_mean($a, $b) { $result = ( $a + $b ) / 2; return $result; }
echo aritmetic_mean(4,6),"<br>"; echo aritmetica_mean(3242,524543),"<br>"; ?> |
Variable Scope and Lifetime
It's important to note that if you define a variable within a function, that variable is only available within that function; it cannot be referenced in another function or in the main body of your program code. This is known as a variable's scope. The scope of a variable defined within a function is local to that function.
If a function needs to use a variable that is defined in the main body of the program, it must reference it using the "global" keyword, like this:
<?php function AddingNumbers ( ) { global $sum = 2 + 2 }
$sum = 0 Addnumbers ( ) echo "2 + 2 = ".$sum ?> |
While the scope of a variable defined in a function is local to that function, a variable defined in the main body of code has a global scope. The "global" keyword tells PHP to look for a variable that has been defined outside the function.
And what about lifetime for a variable? A variable defined within a PHP program script exists only while that script is running. When the script ends, the variable ceases to exist. This seems pretty obvious! Now apply it to a function: a variable defined within a function exists only while that function is being processed; when the function ends, the variable ceases to exist. |