Home PHP php functions

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 Built-in 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.

PHP User Defined 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.

Create a User Defined Function in PHP

A user-defined function declaration starts with the word function:

Syntax



function functionName()

{

  code to be executed;

}

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 ():

Example



<?phpfunction writeMsg() {  echo "Hello world!";

}writeMsg(); // call the function?>

PHP Function Arguments

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:

Example



<?phpfunction familyName($fname) {  echo "$fname Refsnes.<br>";

}familyName("Jani");familyName("Hege");

familyName("Stale");familyName("Kai Jim");familyName("Borge");?>

The following example has a function with two arguments ($fname and $year):

Example



<?phpfunction familyName($fname, $year) {  echo "$fname Refsnes. Born in $year <br>";}familyName("Hege", "1975");

familyName("Stale", "1978");familyName("Kai Jim", "1983");?>

PHP is a Loosely Typed Language

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:

Example



<?phpfunction addNumbers(int $a, int $b) {  return $a

+ $b;}

echo addNumbers(5, "5 days"); // since strict is NOT enabled "5 days" is

changed to int(5), and it will return 10?>

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:

Example



<?php declare(strict_types=1); // strict requirementfunction

addNumbers(int $a, int $b) {  return $a + $b;}echo addNumbers(5, "5

days"); // since strict is enabled and "5 days" is not an integer, an

error will be thrown?>

The strict declaration forces things to be used in the intended way.

PHP Default Argument Value

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:

Example



<?php declare(strict_types=1); // strict requirementfunction setHeight(int $minheight = 50) {  echo "The height is : $minheight <br>";}setHeight(350);setHeight(); // will use the default value of 50setHeight(135);setHeight(80);?>

PHP Functions - Returning values

To let a function return a value, use the return statement:

Example



<?php declare(strict_types=1); // strict requirementfunction sum(int $x,

int $y) {  $z = $x + $y;  return $z;}

echo "5 + 10 = " . sum(5, 10) . "<br>";echo "7 + 13 = " . sum(7, 13) . "<br>";echo "2 + 4 = " . sum(2, 4);?>

PHP Return Type Declarations

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:

Example



<?php declare(strict_types=1); // strict requirementfunction addNumbers(float

$a, float $b) : float {  return $a + $b;}echo addNumbers(1.2, 5.2);

?>

You can specify a different return type, than the argument types, but make

sure the return is the correct type:

Example



<?php declare(strict_types=1); // strict requirementfunction addNumbers(float

$a, float $b) : int {  return (int)($a + $b);}

echo addNumbers(1.2, 5.2); ?>

Passing Arguments by Reference

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:

Example

Use a pass-by-reference argument to update a variable:



<?phpfunction add_five(&$value) {  $value += 5;}$num

= 2;add_five($num);

echo $num;?>

PHP Exercises

Test Yourself With Exercises

Exercise:

Create a function named myFunction.





{

echo "Hello World!";

}



  • PHP
Previous article php forms
Next article php if else

LEAVE A REPLY

Please enter your comment!
Please enter your name!