Function Parameters in PHP - GeeksforGeeks

Function Parameters in PHP

Last Updated : 23 Oct, 2026

Function parameters in PHP are variables defined in a function declaration to receive values when the function is called. They allow functions to accept input and perform operations on that data.

  • Parameter Types: Define required, default, and variable-length parameters.
  • Type Declarations: Specify the expected data types of parameters.
  • Argument Passing: Pass arguments by value or by reference.
  • Input Validation: Validate arguments to ensure they meet the function's requirements.

Define and Pass Function Parameters

Parameters are declared inside parentheses in a function definition. Arguments are the actual values passed when calling the function.

PHP
<?php
function greet($name) {
    echo "Hello, $name!";
}

greet("Ryan");
?>

Use Default Parameters

Default parameters provide a value when an argument is omitted.

PHP
<?php
function greet($name = "Guest") {
    echo "Hello, $name!";
}

greet();
greet("Ryan");
?>

Pass Multiple Parameters

A function can accept multiple parameters, and arguments are generally matched to parameters by position.

PHP
<?php
function add($a, $b) {
    echo $a + $b;
}

add(10, 20);
?>

Use Type Declarations for Parameters

Parameter type declarations specify the type of value a function expects.

PHP
<?php
function square(int $number): int {
    return $number * $number;
}

echo square(5);
?>

Pass Arguments by Reference

Use & before a parameter name to allow a function to modify the variable passed to it.

PHP
<?php
function increment(&$number) {
    $number++;
}

$value = 5;
increment($value);

echo $value;
?>

Accept Variable-Length Parameters

Use the ... operator to let a function accept multiple arguments through a single parameter.

PHP
<?php
function sum(...$numbers) {
    return array_sum($numbers);
}

echo sum(10, 20, 30);
?>

Use Named Arguments

PHP 8.0 introduced named arguments, which allow you to pass arguments by parameter name rather than position.

PHP
<?php
function createUser(string $name, int $age) {
    echo "$name is $age years old.";
}

createUser(age: 25, name: "Ryan");
?>

Output:

Ryan is 25 years old.

Best Practices

  • Use Meaningful Names: Choose parameter names that clearly describe their purpose.
  • Set Default Values: Use defaults when a parameter has a reasonable fallback value.
  • Declare Types: Specify expected parameter types using type declarations.
  • Validate Inputs: Check values against required ranges or constraints.
  • Avoid Excessive Parameters: Group related inputs into an object or array when appropriate.
Comment