Maison >développement back-end >tutoriel php >Quand et pourquoi PHP utilise-t-il les paramètres de référence de fonction ?

Quand et pourquoi PHP utilise-t-il les paramètres de référence de fonction ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-03 09:29:10521parcourir

When and Why Does PHP Use Function Reference Parameters?

Comprendre le paramètre de référence de fonction en PHP

En PHP, vous pouvez préfixer un nom de fonction avec une esperluette (& ). Cela signifie que la fonction renverra une référence à une variable plutôt que la valeur elle-même. Bien que cela puisse paraître contre-intuitif, il existe des scénarios dans lesquels le retour par référence est avantageux.

Examinons un exemple de la bibliothèque client REST de Facebook :

public function &users_hasAppPermission($ext_perm, $uid=null) {
    return $this->call_method('facebook.users.hasAppPermission',
        array('ext_perm' => $ext_perm, 'uid' => $uid));
}

Ici, la fonction users_hasAppPermission renvoie une référence à une variable. Cependant, pour comprendre comment utiliser efficacement cette bibliothèque, construisons un exemple simple :

$facebook = new FacebookRestClient();
$result = &$facebook->users_hasAppPermission('email');

if ($result) {
    // The 'email' extended permission is granted
} else {
    // The 'email' extended permission is not granted
}

Dans cet extrait, nous créons une référence à la variable renvoyée par la fonction users_hasAppPermission. La variable $result contient désormais une référence à la même variable qui stocke l'état d'autorisation. Cela nous permet de manipuler le statut d'autorisation directement via la variable $result.

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