PHP Functions

Essential PHP functions and their usage

2 min read |347 words
May 30, 2026

Functions

In PHP, a function is a block of code that can be reused to perform a specific task. Functions can take parameters, return values, and be called from anywhere in the code. They are defined using the function keyword.

function greet($name) {
    return "Hello, " . $name . "!";
}
echo greet("John"); // Outputs: Hello, John!

Functions can also have default parameter values, which are used if no argument is provided when the function is called.

function greet($name = "Guest") {
    return "Hello, " . $name . "!";
}
echo greet(); // Outputs: Hello, Guest!

Functions can also be defined as anonymous functions (also known as closures) and assigned to variables.

$greet = function($name) {
    return "Hello, " . $name . "!";
};
echo $greet("John"); // Outputs: Hello, John!

PHP also supports variable-length argument lists using the ... operator, allowing you to pass an arbitrary number of arguments to a function.

function sum(...$numbers) {
    return array_sum($numbers);
}
echo sum(1, 2, 3); // Outputs: 6

Functions can also be recursive, meaning they can call themselves to solve a problem.

function factorial($n) {
    if ($n <= 1) {
        return 1;
    }
    return $n * factorial($n - 1);
}
echo factorial(5); // Outputs: 120

PHP has many built-in functions for various tasks, such as string manipulation, array handling, and more. You can also create your own custom functions to suit your specific needs. Understanding how to define and use functions is essential for writing clean, efficient, and maintainable PHP code.

Built-in Functions

PHP provides a wide range of built-in functions that can be used for various purposes. Some common categories of built-in functions include:

  • String functions: strlen(), str_replace(), substr(), etc.
  • Array functions: array_push(), array_pop(), array_merge(), etc.
  • Date and time functions: date(), time(), strtotime(), etc.
  • Math functions: abs(), round(), rand(), etc.
  • File handling functions: fopen(), fread(), fwrite(), etc.
  • Database functions: mysqli_connect(), mysqli_query(), PDO, etc.
  • And many more! You can refer to the official PHP documentation for a comprehensive list of built-in functions and their usage.

User-defined Functions

In addition to built-in functions, you can create your own user-defined functions in PHP. This allows you to encapsulate reusable code and improve the organization of your application. User-defined functions can be defined anywhere in your code, but it's common practice to define them at the beginning of your script or in separate files for better maintainability.

function calculateArea($radius) {
    return pi() * pow($radius, 2);
}
echo calculateArea(5); // Outputs: 78.539816339745

Variable Functions

In PHP, you can also use variable functions, which allow you to call a function using a variable that contains the function name. This can be useful for dynamic function calls.

function sayHello() {
    return "Hello!";
}
$functionName = "sayHello";
echo $functionName(); // Outputs: Hello!

Operators in Functions

Operators can be used within functions to perform various operations. For example, you can use arithmetic operators to perform calculations, comparison operators to compare values, and logical operators to combine conditions.

function calculate($a, $b) {
    $sum = $a + $b; // Using arithmetic operator
    $isEqual = ($a == $b); // Using comparison operator
    $isGreater = ($a > $b); // Using comparison operator
    return [
        'sum' => $sum,
        'isEqual' => $isEqual,
        'isGreater' => $isGreater
    ];
}
$result = calculate(5, 3);
echo "Sum: " . $result['sum']; // Outputs: Sum: 8
echo "Is Equal: " . ($result['isEqual'] ? "Yes" : "No"); // Outputs: Is Equal: No
echo "Is Greater: " . ($result['isGreater'] ? "Yes" : "No"); // Outputs: Is Greater: Yes

You can also use other types of operators, such as assignment operators, bitwise operators, and more, within your functions to perform various tasks. The choice of operators will depend on the specific logic you want to implement in your function.