Functions in PHP
Functions in PHP
Its very easy to create your own PHP function. Suppose you want to create a PHP
function which will simply write a simple message on your browser when you
will call it. Following example creates a function called writeMessage() and then
calls it just after creating it.
Note that while creating a function its name should start with
keyword function and all the PHP code should be put inside { and } braces as
shown in the following example below −
<html>
<head>
<title>Writing PHP Function</title>
</head>
<body>
<? php
/* Defining a PHP Function */
function writeMessage () {
echo "you can do programming";
}
</body>
</html>
PHP gives you option to pass your parameters inside a function. You can pass as
many as parameters your like. These parameters work like variables inside your
function. Following example takes two integer parameters and add them together
and then print them.
<html>
<head>
<title>Writing PHP Function with Parameters</title>
</head>
<body>
<?php
function addFunction($num1, $num2) {
$sum = $num1 + $num2;
echo "Sum of the two numbers is : $sum";
}
$a = 10;
addFunction($a, 20);
?>
</body>
</html>
A function can return a value using the return statement in conjunction with a
value or object. return stops the execution of the function and sends the value back
to the calling code.
You can return more than one value from a function using return array(1,2,3,4).
Following example takes two integer parameters and add them together and then
returns their sum to the calling program. Note that return keyword is used to
return a value from a function.
<html>
<head>
<title>Writing PHP Function which returns value</title>
</head>
<body>
<?php
function add($num1, $num2) {
$sum = $num1 + $num2;
return $sum;
}
$return_value = add(10, 20);
echo "Returned value from the function : $return_value";
?>
</body>
</html>
You can set a parameter to have a default value if the function's caller doesn't pass
it.
Following function prints NULL in case use does not pass any value to this
function.
<html>
<head>
<title>Writing PHP Function which returns value</title>
</head>
<body>
<?php
function printMe($param = NULL) {
print $param;
}
printMe("This is test");
printMe();
?>
</body>
</html>
Pass by Value: On passing arguments using pass by value, the value of the
argument gets changed within a function, but the original value outside the
function remains unchanged. That means a duplicate of the original value is
passed as an argument.
Pass by Reference: On passing arguments as pass by reference, the original
value is passed. Therefore, the original value gets altered. In pass by reference
we actually pass the address of the value, where it is stored using ampersand
sign(&).
Example:
PHP
<?php
// pass by value
function valfun($num) {
$num += 2;
return $num;
}
// pass by reference
function reffun(&$num) {
$num += 10;
return $num;
}
$n = 10;
valfun($n);
echo "The original value is still $n \n";
reffun($n);
echo "The original value changes to $n";
?>
Output:
References: https://www.tutorialspoint.com/php/php_functions.htm