PHP | Functions

01 Apr, 2021
A function is a block of code written in a program to perform some specific task. We can relate functions in programs to employees in a office in real life for a better understanding of how functions work. Suppose the boss wants his employee to calculate the annual budget. So how will this process complete? The employee will take information about the statics from the boss, performs calculations and calculate the budget and shows the result to his boss. Functions works in a similar manner. They take informations as parameter, executes a block of statements or perform operations on this parameters and returns the result. PHP provides us with two major types of functions:  
Built-in functions : PHP provides us with huge collection of built-in library functions. These functions are already coded and stored in form of functions. To use those we just need to call them as per our requirement like, var_dump, fopen(), print_r(), gettype() and so on.
User Defined Functions : Apart from the built-in functions, PHP allows us to create our own customised functions called the user-defined functions. Using this we can create our own packages of code and use it wherever necessary by simply calling it.
 
Why should we use functions?
 
Reusability: If we have a common code that we would like to use at various parts of a program, we can simply contain it within a function and call it whenever required. This reduces the time and effort of repetition of a single code. This can be done both within a program and also by importing the PHP file, containing the function, in some other program
Easier error detection: Since, our code is divided into functions, we can easily detect in which function, the error could lie and fix them fast and easily.
Easily maintained: As we have used functions in our program, so if anything or any line of code needs to be changed, we can easily change it inside the function and the change will be reflected everywhere, where the function is called. Hence, easy to maintain.
 
Creating a Function
While creating a user defined function we need to keep few things in mind:  
Any name ending with an open and closed parenthesis is a function.A function name always begins with the keyword function.To call a function we just need to write its name followed by the parenthesisA function name cannot start with a number. It can start with an alphabet or underscore.A function name is not case-sensitive.
Any name ending with an open and closed parenthesis is a function.
A function name always begins with the keyword function.
To call a function we just need to write its name followed by the parenthesis
A function name cannot start with a number. It can start with an alphabet or underscore.
A function name is not case-sensitive.
Syntax:  
function function_name(){
    executable code;
}
Example:  
PHP
<?php function funcGeek(){    echo "This is Geeks for Geeks";} // Calling the functionfuncGeek(); ?>
Output:  
This is Geeks for Geeks
 
Function Parameters or Arguments
The information or variable, within the function’s parenthesis, are called parameters. These are used to hold the values executable during runtime. A user is free to take in as many parameters as he wants, separated with a comma(,) operator. These parameters are used to accept inputs during runtime. While passing the values like during a function call, they are called arguments. An argument is a value passed to a function and a parameter is used to hold those arguments. In common term, both parameter and argument mean the same. We need to keep in mind that for every parameter, we need to pass its corresponding argument. Syntax:  
function function_name($first_parameter, $second_parameter) {
    executable code;
}
Example:  
PHP
<?php // function along with three parametersfunction proGeek($num1, $num2, $num3){    $product = $num1 * $num2 * $num3;    echo "The product is $product";} // Calling the function// Passing three argumentsproGeek(2, 3, 5); ?>
Output:  
The product is 30
 
Setting Default Values for Function parameter
PHP allows us to set default argument values for function parameters. If we do not pass any argument for a parameter with default value then PHP will use the default set value for this parameter in the function call. Example:  
PHP
<?php // function with default parameterfunction defGeek($str, $num=12){    echo "$str is $num years old \n";} // Calling the functiondefGeek("Ram", 15); // In this call, the default value 12// will be considereddefGeek("Adam"); ?>
Output:  
Ram is 15 years old 
Adam is 12 years old
In the above example, the parameter $num has a default value 12, if we do not pass any value for this parameter in a function call then this default value 12 will be considered. Also the parameter $str has no default value , so it is compulsory. 
Returning Values from Functions
Functions can also return values to the part of program from where it is called. The return keyword is used to return value back to the part of program, from where it was called. The returning value may be of any type including the arrays and objects. The return statement also marks the end of the function and stops the execution after that and returns the value. Example:  
PHP
<?php // function along with three parametersfunction proGeek($num1, $num2, $num3){    $product = $num1 * $num2 * $num3;         return $product; //returning the product} // storing the returned value$retValue = proGeek(2, 3, 5);echo "The product is $retValue"; ?>
Output:  
The product is 30
 
Parameter passing to Functions
PHP allows us two ways in which an argument can be passed into a function:  
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 valuefunction valGeek($num) {    $num += 2;    return $num;} // pass by referencefunction refGeek(&$num) {    $num += 10;    return $num;} $n = 10; valGeek($n);echo "The original value is still $n \n"; refGeek($n);echo "The original value changes to $n"; ?>
Output:  
The original value is still 10 
The original value changes to 20
This article is contributed by Chinmoy Lenka. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. 
arorakashish0911
Functions
PHP-basics
PHP
Web Technologies
Functions
PHP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to convert array to string in PHP ?
PHP | Converting string to Date and DateTime
Split a comma delimited string into an array in PHP
How to get parameters from a URL string in PHP?
Download file from URL using PHP
Top 10 Projects For Beginners To Practice HTML and CSS Skills
Installation of Node.js on Linux
Difference between var, let and const keywords in JavaScript
How to insert spaces/tabs in text using HTML/CSS?
How to fetch data from an API in ReactJS ?