Current Location: Home> Latest Articles> Comprehensive Guide to PHP Function Calls: Regular, Parameter Passing, Return Values, and Variable Functions

Comprehensive Guide to PHP Function Calls: Regular, Parameter Passing, Return Values, and Variable Functions

M66 2025-10-22

Overview of PHP Function Calls

In PHP, there are four main ways to call a function: regular calls, parameter passing, return values, and variable functions. Mastering these methods allows you to write more efficient and flexible code.

Regular Calls

The most basic way to call a function is by using its name along with the arguments:

function_name(arg1, arg2, ...);

For example:

echo hello(); // Output: "Hello"

Parameter Passing

Function parameters can be passed by value or by reference:

Pass by value: Passes a copy of the variable's value to the function. Changes inside the function do not affect the variable outside.

Pass by reference: Passes the variable itself to the function. Changes inside the function will affect the variable outside. Use the & symbol for reference passing, for example:

function swap(&$a, &$b) {
    $temp = $a;
    $a = $b;
    $b = $temp;
}

$a = 1;
$b = 2;
swap($a, $b);
echo "$a, $b"; // Output: "2, 1"

Return Values

Functions can return a value using the return keyword, for example:

function double(int $num): int {
    return $num * 2;
}

echo double(5); // Output: "10"

Variable Functions

Variable functions are a special way of calling functions that allows you to use a variable as the function name:

$function_name($arg1, $arg2, ...);

For example:

<?php
$hello = "Hello";
$hello("World!"); // Equivalent to echo "Hello World!";
?>

Practical Example

Example: Calculate the average of two numbers

<?php
function average(int $num1, int $num2): float {
    return ($num1 + $num2) / 2;
}

// Call the function
echo "The average of the two numbers is: " . average(5, 10) . "\n"; // Output: "7.5"
?>

By using these different function call methods, you can handle various PHP development tasks efficiently while improving code readability and maintainability.