PHP Functions

The real power of PHP comes from its functions.
PHP has more 
than 1000 built-in functions, and in addition you can create your own custom 
functions.
PHP has over 1000 built-in functions that can be called directly, from within 
a script, to perform 
a specific task.
Please check out our PHP reference for a complete overview of the
PHP built-in functions.
Besides the built-in PHP functions, it is possible to create your own functions.
A function is a block of statements that can be used repeatedly in a program.
A function will not execute automatically when a page loads.
A function will be executed by a call to the function.
A user-defined function declaration starts with the word function:
Note: A function name must start with a letter or an underscore. Function names are NOT case-sensitive.
Tip: Give the function a name that reflects what the 
function does!
In the example below, we create a function named "writeMsg()". The opening 
curly brace ( { ) indicates the beginning of the function code, and the closing 
curly brace ( } ) indicates the end of the function. The function outputs "Hello 
world!". To call the function, just write its name followed by brackets ():
Information can be passed to functions through arguments. An argument is just 
like a variable.
Arguments are specified after the function name, inside the parentheses. You 
can add as many arguments as you want, just separate them with a comma. 
The following example has a function with one argument ($fname). When the 
familyName() function is called, we also pass along a name (e.g. Jani), and the 
name is used inside the function, which outputs several different first names, 
but an equal last name:
The following example has a function with two arguments ($fname and $year):
In the example above, notice that we did not have to tell PHP which data type the variable is.
PHP automatically associates a data type to the variable, depending on its value. 
Since the data types are not set in a strict sense, you can do things like 
adding a string to an integer without causing an error.
In PHP 7, type declarations were added. This gives us an option to specify 
the expected data type when declaring a function, and by adding the strict 
declaration, it will throw a "Fatal 
Error" if the data type mismatches.
In the following example we try to send both a number and a string to the 
function without using strict:
To specify strict we need to set declare(strict_types=1);. 
This must be on the very first line of the PHP file.
In the following example we try to send both a number and a string to the 
function, but here we have added the strict 
declaration:
The strict declaration forces things to be used in the intended way.
The following example shows how to use a default parameter. If we call the 
function setHeight() without arguments it takes the default value as argument:
To let a function return a value, use the return statement:
PHP 7 also supports Type Declarations for the return 
statement. Like with the type declaration for function arguments, by enabling the strict requirement, it will throw a "Fatal 
Error" on a type mismatch.
To declare a type for the function return, add a colon (
: ) and the type right before the opening curly 
( { )bracket when declaring the function.
In the following example we specify the return type for the function:
You can specify a different return type, than the argument types, but make 
sure the return is the correct type:
In PHP, arguments are usually passed by value, which means that a copy of the value is
used in the function and the variable that was passed into the function cannot be changed.
When a function argument is passed by reference, changes to the argument also change
the variable that was passed in. To turn a function argument into a reference, the &
operator is used:
Use a pass-by-reference argument to update a variable:
Create a function named myFunction.
 {
  echo "Hello World!";
}

We just launchedW3Schools videos
Get certifiedby completinga course today!
If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:
help@w3schools.com
Your message has been sent to W3Schools.