Maison > Article > développement back-end > Quels sont les types d'affectations de paramètres dans les fonctions php ?
Il existe trois types d'affectation de paramètres dans les fonctions PHP : 1. Affectation de passage de valeur, copiez la valeur du paramètre réel et affectez-la au paramètre formel de la fonction 2. Affectation de passage de référence, copiez l'adresse mémoire de ; le paramètre réel, puis passez au paramètre formel de la fonction, puis attribuez la valeur réelle du paramètre au paramètre formel ; 3. Spécifiez directement la valeur par défaut pour le paramètre de la fonction, la syntaxe est "nom de la fonction (variable de paramètre) = 'valeur')".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3
Il existe trois types d'affectations de paramètres pour les fonctions PHP :
1. . Affectation de passage de référence
3. Valeurs des paramètres par défaut
Ce qui suit vous donnera une introduction détaillée.
1. Affectation par valeurLe passage par valeur est la méthode de transmission de valeur par défaut pour les fonctions en PHP, également connue sous le nom de "copie par valeur".
Comme son nom l'indique, la méthode d'attribution de valeur copiera la valeur du paramètre réel puis la transmettra au paramètre formel de la fonction, donc l'utilisation de la valeur du paramètre dans la fonction n'affectera pas les paramètres réels en dehors de la fonction. .
Donc, si vous ne souhaitez pas que la fonction modifie la valeur du paramètre réel, vous pouvez le transmettre par valeur.
Exemple :
<?php header('content-type:text/html;charset=utf-8'); function swap($a, $b){ echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函数外,交换后 $x = '.$x.', $y = '.$y; ?>2. Affectation de passage par référence
Le passage par référence des paramètres consiste à copier l'adresse mémoire du paramètre réel, puis à la transmettre au paramètre formel de la fonction. , puis attribuez la valeur réelle du paramètre au paramètre formel ginseng.
Les paramètres réels et les paramètres formels pointent vers la même adresse mémoire, donc le fonctionnement de la fonction sur les paramètres formels affectera les paramètres réels en dehors de la fonction.
Passer par référence signifie passer l'adresse mémoire du paramètre réel au paramètre formel de la fonction. Par conséquent, les paramètres réels et les paramètres formels pointent vers la même adresse mémoire. À ce stade, toutes les opérations à l'intérieur de la fonction affecteront les valeurs des paramètres réels en dehors de la fonction. La façon de passer par référence est d'ajouter un symbole &
au-dessus de la valeur transmise, comme indiqué ci-dessous :
function name (&参数1, &参数2, ..., &参数3) { ... }
Exemple : &
符号,如下所示:
<?php header('content-type:text/html;charset=utf-8'); function swap(&$a, &$b){ echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函数外,交换后 $x = '.$x.', $y = '.$y; ?>
示例:
function name ($str = '默认值', $url) { echo $str; }
3、默认参数值
默认参数就是给函数的某个或多个形式参数指定一个默认的值,如果调用函数时不传入对应的值,那么函数就会使用这个默认值,这样可以避免调用时出现没有参数的错误,也可以使一些程序显得更加合理。如果传入对应的参数,就会替换这个默认值。
函数的默认参数如下所示:
<?php function add($a, $b=56){ echo $a.' + '.$b.' = '.($a+$b).'<br>'; } add(11); add(37, 29); ?>
形参与默认值之间需要使用=
<?php function add($a, $b=33, $c=57){ echo $a.' + '.$b.' + '.$c.' = '.($a+$b+$c).'<br>'; } add(11); add(31, 22); add(64, 9, 7); ?>
sont les suivants :
Les valeurs par défaut de participation à la forme doivent être connectées en utilisant =
.
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!