Maison  >  Article  >  développement back-end  >  Explication détaillée des fonctions de variables PHP et exemples de référence et de déréférencement de fonctions

Explication détaillée des fonctions de variables PHP et exemples de référence et de déréférencement de fonctions

伊谢尔伦
伊谢尔伦original
2017-05-05 12:02:033397parcourir

变量函数

在 php 中是支持变量函数的,首先定义一些函数,再声明一个变量,使用变量来调用不同的函数,然后不断地重新给变量赋值。下面我们将通过一个实例来介绍变量函数的具体使用方法。在这个例子中首先定义3个函数,接着声明一个变量并赋值,通过变量函数来访问不同的3个函数,需要重新不断地给变量赋值。

其示例的代码如下所示:

<?php
 function come(){
   echo "进门了<br>";
 }
 function go($name="tom"){
   echo "$name 出门了<br>";
 }
 function back($str){
   echo "重新进门 $str<br>";
 }
 $func = "come";        //声明一个变量并赋值
 $func();               //使用变量函数来调用函数come()
 $func = "go";          //重新给变量赋值
 $func("jane");         //使用变量函数来调用函数go()
 $func = "back";        //重新给变量赋值
 $func("jack");         //使用变量函数来调用函数back()
?>

运行结果如下所示:

Explication détaillée des fonctions de variables PHP et exemples de référence et de déréférencement de fonctions

说明:可以看到,变量函数的调用时通过改变变量名来实现的,通过在变量名后面加上一对小括号,php将自动寻找与变量名相同的函数,并执行它。如果找不到对应的函数,系统将会报错。这项技术可以用于实现回调函数和函数表等等。


函数的引用

函数间参数的传递中的按引用传递的方式可以修改实参的内容。引用不仅可以用于普通变量、函数的参数,可也以用于函数本身。对函数的引用,就是对函数返回结果的引用。

下面我们将通过一个实例来说明,实现定义一个函数,这里需要在函数名前加上 “ & ” 符,接着,变量$str 将引用该函数,最后输出该变量$str, 实际上就是 $tmp的值。

实例代码如下所示:

<?php
 function &test($tmp=0){        //定义一个函数,加 & 符号
   return $tmp;                 //返回参数 $tmp
 }
 $str = &test("hello word");    //声明一个函数的引用$str
 echo $str;                     //输出$str
?>

输出结果为 : hello word

注意:和参数传递不同,对函数的引用必须在两个地方都使用 “ & ” 符,用来说明返回的是一个引用。

取消引用

当在实际操作中不需要引用时,可以取消参数的引用传递方式的引用,只需要使用PHP函数即可,这里取消引用使用 unset() 函数,它只是断开了变量名和变量内容之间的绑定,而不是销毁变量内容。

下面通过一个实例来说明,首先声明一个变量和一个变量引用,输出引用后取消引用,再次调用引用和原变量。可以看到,取消引用后对原变量没有任何影响。

实例代码如下所示:

<?php
 $num = 123;
 $math = &$num;
 echo "\$math is: ".$math . "<br>";
 unset($math);
 echo "\$math is: ".$math . "<br>";
 echo "\$num is: " .$num;
?>

运行结果为:

$math is: 123
$math is: 
$num is: 123

以上就是php自定义函数的变量函数以及函数引用和取消引用的内容实例介绍,下一章我们开始学习php自定义函数变量的范围。

【相关教程推荐】

1. 《php.cn独孤九贱(4)-php视频教程

2.  php编程从入门到精通全套视频教程

3.  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!

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