>  기사  >  백엔드 개발  >  PHP 변수 함수에 대한 자세한 설명과 함수 참조 및 역참조 예제

PHP 변수 함수에 대한 자세한 설명과 함수 참조 및 역참조 예제

伊谢尔伦
伊谢尔伦원래의
2017-05-05 12:02:033364검색

变量函数

在 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 변수 함수에 대한 자세한 설명과 함수 참조 및 역참조 예제

说明:可以看到,变量函数的调用时通过改变变量名来实现的,通过在变量名后面加上一对小括号,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实战视频教程

위 내용은 PHP 변수 함수에 대한 자세한 설명과 함수 참조 및 역참조 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.