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;
}
?>
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>";
}
//let's add parameters to that function
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>";
?>
function firstFunction()
{
for($i = 0; $i != 5; $i++)
echo "<P>PHP Functions!</P>";
}
//let's add parameters to that function
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;
}
//print the the results of calculation
echo aritmetic_mean(4,6),"<br>";
echo aritmetica_mean(3242,524543),"<br>";
?>
function aritmetic_mean($a, $b)
{
$result = ( $a + $b ) / 2;
return $result;
}
//print the the results of calculation
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
?>
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.
ليست هناك تعليقات:
إرسال تعليق