Home > Backend Development > PHP Tutorial > Basic examples of php variable parameter usage

Basic examples of php variable parameter usage

怪我咯
Release: 2023-03-11 16:58:02
Original
1329 people have browsed it

This article is mainly aimed at beginners learning PHP, so we use a specific example to explain.

First, we need to write a PHP function to calculate the sum of two numbers, which can be written as follows:

/**
 *计算两个数的和,并返回计算的结果
 * @param number $a
 * @param number $b
 * @return number
 */
function sum($a, $b){
    return $a + $b;
}
Copy after login

Similarly, if we need to calculate the sum of three numbers and, can be written as follows:

/**
 *计算两个或三个数的和,并返回计算的结果
 * @param number $a
 * @param number $b
 * @return number $c 该参数可以不传入值,默认为0
 */
function sum($a, $b, $c = 0){
    return $a + $b + $c;
}
Copy after login

At this time, if we need to calculate the sum of any number of numbers, then how do we need to write a PHP function?

Of course, you may consider using an array as a function parameter to achieve such a function:

/**
 *计算任意多个数的和,函数参数params必须为array类型
 * @param array params
 */
function sum($params){
    $total = 0;
    foreach ($params as $i){
        $total += $i;
    }
    return $total;
}
Copy after login

Well, there is indeed nothing wrong with this approach, because in During the program development process before the birth of variable parameters, when any number of parameters needed to be passed, arrays or other similar collections were used to represent them. However, doesn’t this kind of transmission seem clear and intuitive enough? As a PHP programmer, you should know that there is a function var_dump() in PHP for displaying detailed information about variables, for example:

$age = 18;
var_dump($age); //显示变量$age的详细信息
Copy after login

When we need to display information about multiple variables, we can also use it like this :

$name = '张三';
$age = 18;
$gender = true;
var_dump($name, $age, $gender);
Copy after login

We know that var_dump() can receive any number of variables at the same time, and does not need to be passed in the form of an array. This method of parameter passing is more intuitive and elegant. This form of passing any number of parameters is called variable parameters. Of course, our sum() function can also be implemented in this way:

/**
 *计算任意多个数的和,并返回计算后的结果
 */
function sum(){  //这里的括号中没有定义任何参数
    $total = 0;
    //使用func_get_args()来获取当前函数的所有实际传递参数,返回值为array类型
    $varArray = func_get_args();
    foreach ($varArray as $var){
        $total += $var;
    }
    return $total;
}

/*****下面是调用示例*****/
echo sum(1, 3, 5);  //计算1+3+5
echo sum(1, 2); //计算1+2
echo sum(1, 2, 3, 4);   //计算1+2+3+4
Copy after login

As shown in the above example, as long as you use the PHP built-in functionfunc_get_args() in the current function, The actual parameter array passed when calling the function can be used, and then we only need to process the parameter array.

Note 1: 1. If no parameters are passed in when called, the function func_get_args() still returns the array type, but is an empty array (the array does not contain any elements). 2.func_get_args() can only be called within a function, otherwise a warning message will be displayed. 3. The func_get_args() function can receive an index parameter to obtain the parameter at the specified index in the parameter array. For example, if you want to get the first argument passed in, you can call: func_get_args(1). 4. In addition, you can also call func_num_args() in the function, which can return the number of parameters passed in the current function call.

Note 2: The implementation of variable parameters in PHP is very similar to the implementation of variable parameters in JavaScript. PHP uses the built-in function func_get_args() to implement it, and JavaScript uses the functionBuilt-in variable arguments to implement.

Remark 3: In the final sum() function code, the sum() function does not define any formal parameters, so 0, 1, 2~n parameters can be passed in when calling this function. However, in general, at least two numbers are needed to calculate the sum. Therefore, you can define two formal parameters at the definition of the sum() function, for example: sum($a, $b), and the other code remains unchanged. In this way, when calling this function, you must pass in at least two parameters.

Note 4: Since PHP has built-in function array_sum() that calculates the sum of all elements in an array, the final version of the above code is as follows:

/**
 *计算任意多个数的和,并返回计算后的结果
 */
function sum($a, $b){
    return array_sum(func_get_args());
}
Copy after login

The above is the detailed content of Basic examples of php variable parameter usage. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template