Maison  >  Article  >  développement back-end  >  Quelle est la méthode de passage des paramètres pour les fonctions PHP ?

Quelle est la méthode de passage des paramètres pour les fonctions PHP ?

WBOY
WBOYoriginal
2024-04-10 11:06:021166parcourir

Il existe deux manières de passer des paramètres en PHP : l'appel par valeur (le paramètre est passé en copie de la valeur, la modification au sein de la fonction n'affecte pas la variable d'origine) et le passage par référence (l'adresse du paramètre est passée, la modification au sein de la fonction affectera la variable d'origine), lorsque la variable d'origine doit être modifiée. Dans le cas de variables, utilisez le passage de référence. Par exemple, lors du calcul du prix total d'un panier, le passage de référence est nécessaire pour calculer correctement.

PHP 函数的参数传递方式是什么?

Méthodes de passage de paramètres des fonctions PHP

Il existe deux méthodes principales de passage de paramètres en PHP :

1 Pass-by-Value**

Dans cette méthode, les arguments sont transmis aux fonctions sous forme de copies. de leurs valeurs. Si la valeur du paramètre est modifiée dans la fonction, la valeur de la variable d'origine ne sera pas affectée.

function double($number) {
  $number *= 2;
  return $number;
}

$num = 10;
$result = double($num);
echo $num; // 输出: 10
echo $result; // 输出: 20

2. Pass-by-Reference**

En pass-by-reference, l'adresse du paramètre est transmise à la fonction au lieu de la valeur. Cela signifie que si la valeur du paramètre est modifiée au sein de la fonction, la valeur de la variable d'origine sera également affectée.

function &triple(&$number) {
  $number *= 3;
  return $number;
}

$num = 10;
$result = &triple($num);
echo $result; // 输出: 30
echo $num; // 输出: 30

Cas pratique

Implémentation de la fonction de panier

nécessite une fonction pour calculer le prix total de tous les articles du panier. La liste des éléments est stockée dans un tableau et chaque élément a un prix.

$cart = [
  ['product' => 'Apple', 'price' => 1.20],
  ['product' => 'Orange', 'price' => 0.80]
];

function get_total_price($cart) {
  $total = 0;
  foreach ($cart as &$item) {
    $total += $item['price'];
  }
  return $total;
}

$total_price = get_total_price($cart);

Dans l'exemple ci-dessus, get_total_price 函数的 $cart 参数使用引用传递。这是必要的,因为函数会修改 $cart est le prix de chaque article (ajoutez-le au prix total). Si elles sont appelées par valeur, ces modifications ne seront pas reflétées dans le tableau de panier d'origine transmis à la fonction.

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