变量函数
在 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() ?>
运行结果如下所示:
说明:可以看到,变量函数的调用时通过改变变量名来实现的,通过在变量名后面加上一对小括号,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自定义函数变量的范围。
【相关教程推荐】
3. php实战视频教程
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PHP-Variablenfunktionen und Beispiele für Funktionsreferenzen und -dereferenzierungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!