Home > Article > Backend Development > How to call a function with a variable number of arguments using PHP?
Functions with a variable number of parameters, which are stored in an array, can be implemented in PHP by using the three dot (...) syntax. When calling, the parameters need to be stored in an array and passed in the function call using the ... spread operator. This function is useful when working with arrays or complex data structures, such as merging arrays.
#How to call a function with a variable number of parameters using PHP?
What is a function with a variable number of arguments?
A function with a variable number of parameters is a function that allows any number of parameters to be passed in. These parameters are usually stored in an array.
How to implement variable number of parameters in PHP?
Three dots (...) syntax is used in PHP to represent a variable number of parameters.
Syntax:
function func_name(...$params) { // ... }
Call
You can call a function with a variable number of arguments just like a regular function, but Parameters must be stored in an array.
Code example:
sum.php
<?php function sum(...$params) { $total = 0; foreach ($params as $param) { $total += $param; } return $total; }
main.php
<?php require_once 'sum.php'; $params = [1, 2, 3, 4, 5]; echo "和为 " . sum(...$params);
Output:
和为 15
Practical case
Variable number of parameters are very useful when dealing with arrays or other complex data structures. Here is an example:
MergeArrays.php
<?php function merge_array(...$arrays) { if (count($arrays) === 1) { return $arrays[0]; } $merged = []; foreach ($arrays as $array) { $merged = array_merge($merged, $array); } return $merged; }
main2.php
<?php require_once 'merge_array.php'; $array1 = [1, 2, 3]; $array2 = [4, 5, 6]; $array3 = [7, 8, 9]; $merged = merge_array($array1, $array2, $array3); print_r($merged);
Output:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
The above is the detailed content of How to call a function with a variable number of arguments using PHP?. For more information, please follow other related articles on the PHP Chinese website!