PHP implémente des fonctions en utilisant un nombre variable de paramètres

墨辰丷
Libérer: 2023-03-27 16:02:02
original
1140 Les gens l'ont consulté

Cet article présente principalement la méthode d'utilisation d'un nombre variable de paramètres dans les fonctions PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

php prend en charge un nombre variable de listes de paramètres dans les fonctions définies par 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(&#39;a&#39;);
myfunc(1, 2, 3);
myfunc(array(&#39;d&#39;,&#39;e&#39;), array(&#39;f&#39;));

?>
Copier après la connexion

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
    )

)
Copier après la connexion

en php5. Dans les versions 6 et supérieures, vous pouvez utiliser la syntaxe....

Exemple 1 : utilisez...$args pour remplacer un nombre quelconque d'arguments

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

?>
Copier après la connexion

Le résultat de sortie est le même car PHP5.5 utilise les fonctions func_num_args(), func_get_arg(), func_get_args() de manière cohérente.

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

<?php

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

$args = array(1, 2);

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

?>
Copier après la connexion

Exemple 3 : Spécification partielle des paramètres , le nombre d'autres paramètres est 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;));

?>
Copier après la connexion

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
    )

)
Copier après la connexion

Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.


Recommandations associées :

php+ajax+jquery pour obtenir un clic pour charger plus de contenu_jquery

PHP+jQuery vous permet de faire glisser des calques à volonté et d'enregistrer instantanément la position de déplacement_jquery

PHP + mysql+Highcharts génère un camembert_jquery

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal