Home > Backend Development > PHP Tutorial > what is php function variable number of parameters

what is php function variable number of parameters

伊谢尔伦
Release: 2023-03-11 14:16:01
Original
1242 people have browsed it

php supports variable number of parameter lists in user custom functions.

In php5.5 and earlier versions, use func_num_args(), func_get_arg(), func_get_args() functions.

<?php
function myfunc(){

    // 获取参数数量
    echo func_num_args().PHP_EOL;    // 获取第一个参数的值:
    print_r(func_get_arg(0));    echo PHP_EOL;    // 获取所有参数的值
    print_r(func_get_args());    echo PHP_EOL;

}

myfunc(&#39;a&#39;);
myfunc(1, 2, 3);
myfunc(array(&#39;d&#39;,&#39;e&#39;), array(&#39;f&#39;));
?>
Copy after login

Output:

1aArray(
    [0] => a
)31Array(
    [0] => 1
    [1] => 2
    [2] => 3)2Array(
    [0] => d
    [1] => e
)Array(
    [0] => Array
        (
            [0] => d
            [1] => e
        )

    [1] => Array
        (
            [0] => f
        )

)
Copy after login

In php5.6 and above, you can use... syntax.

Example 1: Use...$args instead of any number of parameters

<?php
function myfunc(...$args){

    // 获取参数数量
    echo count($args).PHP_EOL;    // 获取第一个参数的值:
    print_r($args[0]);    echo PHP_EOL;    // 获取所有参数的值
    print_r($args);    echo PHP_EOL;

}

myfunc(&#39;a&#39;);
myfunc(1, 2, 3);
myfunc(array(&#39;d&#39;,&#39;e&#39;), array(&#39;f&#39;));
?>
Copy after login

The output results are consistent with the func_num_args(), func_get_arg(), func_get_args() functions used in php5.5.

Example 2: ArrayConvert to parameter list

<?php
function add($a, $b){
    echo $a + $b;
}
$args = array(1, 2);

add(...$args); // 输出3
?>
Copy after login

Example 3: Some parameters are specified, the number of other parameters is variable

<?php
function display($name, $tag, ...$args){
    echo &#39;name:&#39;.$name.PHP_EOL;    
    echo &#39;tag:&#39;.$tag.PHP_EOL;    
    echo &#39;args:&#39;.PHP_EOL;
    print_r($args);    
    echo PHP_EOL;
}

display(&#39;fdipzone&#39;, &#39;programmer&#39;);
display(&#39;terry&#39;, &#39;designer&#39;, 1, 2);
display(&#39;aoao&#39;, &#39;tester&#39;, array(&#39;a&#39;,&#39;b&#39;), array(&#39;c&#39;), array(&#39;d&#39;));
?>
Copy after login

Output:

name:fdipzone
tag:programmer
args:Array(
)

name:terry
tag:designer
args:Array(
    [0] => 1
    [1] => 2)

name:aoao
tag:tester
args:Array(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [0] => c
        )

    [2] => Array
        (
            [0] => d
        )

)
Copy after login

The above is the detailed content of what is php function variable number of parameters. For more information, please follow other related articles on the PHP Chinese website!

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