Maison  >  Article  >  développement back-end  >  la fonction php prend un nombre variable de paramètres

la fonction php prend un nombre variable de paramètres

不言
不言original
2018-04-16 14:18:541336parcourir

Cet article présente principalement l'utilisation d'un nombre variable de paramètres dans les fonctions PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer


.

php prend en charge un nombre variable de listes de paramètres dans les fonctions définies par l'utilisateur.

Dans php5.5 et versions antérieures, utilisez la fonction func_num_args(), func_get_arg(), func_get_args().

<?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;));

?>


Sortie :

1
a
Array
(
    [0] => a
)

3
1
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)

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

Array
(
    [0] => Array
        (
            [0] => d
            [1] => e
        )

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

)



Dans php5.6 et supérieur, vous pouvez utiliser la syntaxe .

<br/>
<?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;));

?>




Exemple 1 : utilisez...$args au lieu d'un nombre quelconque de arguments


Les résultats de sortie sont cohérents avec les fonctions func_num_args(), func_get_arg(), func_get_args() utilisées dans php5.5.

<?php

function add($a, $b){
    echo $a + $b;
}

$args = array(1, 2);

add(...$args); // 输出3

?>



Exemple 2 : Convertir un tableau en liste de paramètres

<br/>
<?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;));

?>



Exemple 3 : Certains paramètres sont spécifiés et le nombre d'autres paramètres est variable

Sortie :

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
        )

)

Recommandations associées :

Quelle est la différence entre le passage de valeur ordinaire et le passage de valeur de référence dans les fonctions PHP

Comment utiliser des variables statiques dans les fonctions PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn