Maison > Article > développement back-end > Référence et retour des fonctions php
La référence de la fonction PHP est la même que la référence de la variable en PHP, nous allons donc aujourd'hui examiner quelques exemples de retours de fonctions. Les amis dans le besoin peuvent s'y référer.
Regardez d'abord le code :
<?php function &test() { static $b=0;//申明一个静态变量 $b=$b+1; echo $b; return $b; } $a=test();//这条语句会输出 $b的值 为1 $a=5; $a=test();//这条语句会输出 $b的值 为2 $a=&test();//这条语句会输出 $b的值 为3 $a=5; $a=test();//这条语句会输出 $b的值 为6 ?>
Expliquez ci-dessous :
De cette façon $a=test(); En fait, ce n'est pas un retour de référence d'une fonction. Ce n'est pas différent d'un appel de fonction ordinaire. Quant à la raison : il s'agit d'une réglementation PHP qui stipule que ce qui est obtenu via $a=&test(); un retour de référence d'une fonction. Quant à savoir ce qu'est une référence ? Qu'en est-il du retour (le manuel PHP dit : le retour de référence est utilisé lorsque vous souhaitez utiliser une fonction pour trouver à quelle variable une référence doit être liée.) Cette absurdité m'a fait comprendre. incapable de le comprendre pendant longtemps.
En utilisant l'exemple ci-dessus pour expliquer, l'appel d'une fonction dans la méthode
$a=test() attribue uniquement la valeur de la fonction à $a, et toute modification apportée à $a ne le sera pas. Cela affecte $b dans la fonction, et lorsque la fonction est appelée via $a=&test(), sa fonction est de pointer l'adresse mémoire de la variable $b en retour $b et l'adresse mémoire de la variable $a vers le même endroit. , ce qui produit un effet équivalent à "$a=&$b;" Donc changer la valeur de $a change également la valeur de $b, donc après avoir exécuté
$a=&test(); $a=5;
, $b Le la valeur passe à 5.
Les variables statiques sont utilisées ici pour permettre à tout le monde de comprendre le retour de référence de la fonction. En fait, le retour de référence de la fonction est principalement utilisé dans les objets.
Vous trouverez ci-joint un exemple PHP officiel :
L'appel d'une fonction à l'aide de $a=test() attribue uniquement la valeur de la fonction à $a. Toute modification apportée à $a n'affectera pas $b dans la fonction. L'appel d'une fonction à l'aide de $a=&test(). Eh bien, sa fonction est de pointer l'adresse mémoire de la variable $b en retour $b et l'adresse mémoire de la variable $a au même endroit, ce qui produit un effet équivalent à "$a=&$b;" la valeur de $a modifie également la valeur de $b, donc après avoir exécuté
$a=&test(); $a=5;
, la valeur de $b devient 5.
Les variables statiques sont utilisées ici pour permettre à tout le monde de comprendre le retour de référence de la fonction. En fait, le retour de référence de la fonction est principalement utilisé dans les objets.
Vous trouverez ci-joint un exemple PHP officiel :
//This is the way how we use pointer to access variable inside the class. <?php class talker{ private $data = 'Hi'; public function & get(){ return $this->data; } public function out(){ echo $this->data; } } $aa = new talker(); $d = &$aa->get(); $aa->out(); $d = 'How'; $aa->out(); $d = 'Are'; $aa->out(); $d = 'You'; $aa->out(); ?> //the output is "HiHowAreYou"
Je pense qu'après avoir lu le cas dans cet article, vous maîtrisez la méthode de référence des fonctions. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de PHP !
Articles associés :
Paramètres de référence et nombre de paramètres de la fonction php
PHP - Function_Study Notes Références aux fonctions php fonction de retard php fonction de tri php
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!