Maison > Article > développement back-end > Quelles sont les différences entre les méthodes de passage de paramètres de fonction PHP ?
Il existe deux façons de transmettre des paramètres de fonction en PHP : le passage de valeurs et le passage de références. Le passage de valeur transfère une copie de la valeur de la variable, et les modifications apportées à la copie n'affecteront pas la variable d'origine ; le passage de référence transfère une référence à la variable elle-même, et les modifications apportées à la référence affecteront directement la variable d'origine. Dans le traitement des formulaires, le transfert de valeur peut être utilisé pour obtenir des données et le transfert de référence peut être utilisé pour modifier les données, mais la méthode de transfert par défaut est le transfert de valeur et les paramètres de transfert de référence doivent utiliser le symbole &.
Méthodes de passage de paramètres de fonction PHP
Les méthodes de passage de paramètres de fonction PHP sont divisées en deux types : le passage de référence et le passage de valeur.
Passage par valeur
En passage par valeur, la fonction reçoit une copie de la valeur de la variable. Les modifications apportées à la copie n'affectent pas la variable d'origine.
function changeValue($num) { $num = 10; } $num = 5; changeValue($num); echo $num; // 输出 5
Pass by reference
En pass by référence, la fonction reçoit une référence à la variable elle-même. Les modifications apportées à la référence affectent directement la variable d'origine.
function changeValueByReference(&$num) { $num = 10; } $num = 5; changeValueByReference($num); echo $num; // 输出 10
Cas pratique
Dans le traitement d'un formulaire, nous avons souvent besoin d'obtenir les données soumises par le formulaire. Le passage de valeurs peut être utilisé pour obtenir des données de formulaire, mais si nous voulons modifier les données du formulaire, nous devons utiliser le passage de références.
<form action="process_form.php" method="post"> <input type="text" name="name"> <input type="submit"> </form>
// process_form.php <?php function processForm($name) { // 对 $name 进行修改 $name = strtoupper($name); } $name = $_POST['name']; processForm($name); echo $name; // 输出大写后的用户名 ?>
Remarque :
&
. 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!