Function Arguments
Required Parameters
Section titled “Required Parameters”Parameters that must be passed when calling the function.
<?phpfunction greet($name) { return "Hello, $name!";}echo greet("John"); // Hello, John!Optional Parameters
Section titled “Optional Parameters”Parameters that can be omitted. They are set to null by default.
<?phpfunction greet($name, $prefix = null) { if ($prefix) { return "Hello, $prefix $name!"; } return "Hello, $name!";}echo greet("John"); // Hello, John!echo greet("John", "Mr."); // Hello, Mr. John!Default Values
Section titled “Default Values”Parameters with predefined default values that are used when no argument is passed.
<?phpfunction greet($name = "Guest") { return "Hello, $name!";}echo greet(); // Hello, Guest!echo greet("John"); // Hello, John!Variable-length Argument Lists
Section titled “Variable-length Argument Lists”Accept any number of arguments using the … operator.
<?phpfunction sum(...$numbers) { return array_sum($numbers);}echo sum(1, 2, 3, 4, 5); // 15
// Argument unpacking - spread array into arguments$nums = [1, 2, 3, 4, 5];echo sum(...$nums); // 15Named Arguments (PHP 8+)
Section titled “Named Arguments (PHP 8+)”Pass arguments by parameter name instead of position. Order doesn’t matter.
<?phpfunction createUser($name, $age, $city = "Unknown") { return "$name ($age) from $city";}
// Named arguments (order doesn't matter)echo createUser(age: 30, name: "John", city: "NYC"); // John (30) from NYCecho createUser(name: "Jane", age: 25); // Jane (25) from Unknown