Cet article s'adresse principalement aux débutants apprenant PHP, nous utilisons donc un exemple spécifique pour l'expliquer.
Tout d'abord, nous devons écrire une fonction PHP pour calculer la somme de deux nombres, qui peut s'écrire comme suit :
/** *计算两个数的和,并返回计算的结果 * @param number $a * @param number $b * @return number */ function sum($a, $b){ return $a + $b; }
De même, si nous avons besoin pour calculer la somme de trois La somme des nombres peut s'écrire comme suit :
/** *计算两个或三个数的和,并返回计算的结果 * @param number $a * @param number $b * @return number $c 该参数可以不传入值,默认为0 */ function sum($a, $b, $c = 0){ return $a + $b + $c; }
À ce stade, si nous devons calculer la somme d'un nombre, alors comment devons-nous écrire une fonction PHP ?
Bien sûr, vous pouvez envisager d'utiliser un tableau comme paramètre passé de la fonction pour réaliser une telle fonction :
/** *计算任意多个数的和,函数参数params必须为array类型 * @param array params */ function sum($params){ $total = 0; foreach ($params as $i){ $total += $i; } return $total; }
Eh bien, il n'y a en effet rien de mal à cette approche, car dans Paramètres variables Au cours du processus de développement du programme avant la naissance de 🎜>, lorsqu'un certain nombre de paramètres devaient être transmis, des tableaux ou d'autres collections similaires étaient utilisés pour les représenter. Cependant, ce type de transmission ne semble-t-il pas assez clair et intuitif ? En tant que programmeur PHP, vous devez savoir qu'il existe une fonction var_dump() en PHP pour afficher des informations détaillées sur les variables, par exemple :
$age = 18; var_dump($age); //显示变量$age的详细信息
Lorsque nous avons besoin d'afficher des informations sur plusieurs variables, nous pouvons également Utilisez-le comme ceci :
$name = '张三'; $age = 18; $gender = true; var_dump($name, $age, $gender);
Nous savons que var_dump() peut recevoir n'importe quel nombre de variables en même temps et n'a pas besoin d'être transmis sous la forme d'un tableau. Cette façon de passer des paramètres. est plus intuitif et élégant. Cette forme de transmission d'un nombre quelconque de paramètres est appelée paramètres variables. Bien sûr, notre fonction sum() peut également être implémentée de cette manière :
/** *计算任意多个数的和,并返回计算后的结果 */ 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
Comme le montre l'exemple ci-dessus, utilisez simplement la fonction intégrée PHP func_get_args() dans la fonction actuelle, nous pouvons obtenir le tableau de paramètres réel transmis lors de l'appel de la fonction, et il nous suffit ensuite de traiter le tableau de paramètres.
Remarques 1 : 1. Si aucun paramètre n'est transmis lors de l'appel, alors la fonction func_get_args() renvoie toujours un type de tableau, mais un tableau vide (le tableau ne contient aucun élément). 2.func_get_args() ne peut être appelé qu'au sein d'une fonction, sinon un message d'avertissement sera affiché. 3. La fonction func_get_args() peut recevoir un paramètre d'index pour obtenir le paramètre à l'index spécifié dans le tableau de paramètres. Par exemple, si vous souhaitez que le premier argument soit transmis, vous pouvez appeler : func_get_args(1). 4. De plus, vous pouvez également appeler func_num_args() dans la fonction, qui peut renvoyer le nombre de paramètres passés dans l'appel de fonction en cours.
Remarque 2 : L'implémentation des paramètres variables PHP est très similaire à l'implémentation des paramètres variables JavaScript PHP utilise la fonction intégrée func_get_args() pour l'implémenter, et JavaScript utilise la fonctionArguments variables intégrés pour y parvenir.
Remarque 3 : Dans le code final de la fonction sum(), la fonction sum() ne définit aucun paramètre formel, donc 0, 1, 2~n paramètres peuvent être transmis lors de l'appel de cette fonction. Cependant, en général, il faut au moins deux nombres pour calculer la somme. Par conséquent, vous pouvez définir deux paramètres formels lors de la définition de la fonction sum(), par exemple : sum($a, $b), et l'autre code reste inchangé. De cette façon, lors de l’appel de cette fonction, vous devez transmettre au moins deux paramètres. Remarque 4 : Puisque PHP a une fonction intégrée array_sum() pour calculer la somme de tous les éléments d'un tableau, la version finale du code ci-dessus est la suivante :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!