Maison >développement back-end >tutoriel php >Explication détaillée des exemples d'utilisation des paramètres variables des fonctions PHP définies par l'utilisateur
php prend en charge un nombre variable de listes de paramètres dans les fonctions personnalisées de l'utilisateur.
Dans php5.5 et les versions antérieures, utilisez l'implémentation de 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('a'); myfunc(1, 2, 3); myfunc(array('d','e'), array('f')); ?>
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 ) )
En php5.6 et supérieur, vous pouvez utiliser... la syntaxe.
Exemple 1 : utilisez...$args pour remplacer n'importe quel nombre de paramètres
<?php function myfunc(...$args){ // 获取参数数量 echo count($args).PHP_EOL; // 获取第一个参数的值: print_r($args[0]); echo PHP_EOL; // 获取所有参数的值 print_r($args); echo PHP_EOL; } myfunc('a'); myfunc(1, 2, 3); myfunc(array('d','e'), array('f')); ?>
Le résultat de sortie est le même que celui de php5.5 en utilisant func_num_args(), func_get_arg(), La fonction func_get_args() est cohérente.
Exemple 2 : Tableau converti en liste de paramètres
<?php function add($a, $b){ echo $a + $b; } $args = array(1, 2); add(...$args); // 输出3 ?>
Exemple 3 : Certains paramètres sont spécifiés, et le nombre de les autres paramètres sont variables
<?php function display($name, $tag, ...$args){ echo 'name:'.$name.PHP_EOL; echo 'tag:'.$tag.PHP_EOL; echo 'args:'.PHP_EOL; print_r($args); echo PHP_EOL; } display('fdipzone', 'programmer'); display('terry', 'designer', 1, 2); display('aoao', 'tester', array('a','b'), array('c'), array('d')); ?>
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 ) )
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!