3.5 变量函数

变量函数

PHP支持变量函数的概念,如果一个变量名称的后面带有圆括号,例如,$var()、$sunyang()等,虽然这些变量名称并不是一个合法的函数名称,但是一个类似于“$var()”的函数调用却可以正确执行。产生该情况的原因是PHP可以取出保存在$var变量中的值,在程序中寻找相同名称的函数,然后尝试调用执行该函数,这就是变量函数的工作原理。

下面是一个使用变量函数来实现计算某长方形面积的功能,代码如下:

代码3-10光盘\codes\第3章\3.5\var_function.php

      <?php
      function calculate($length,$width){
          $area=$length*$width;                           //计算面积
          echo "长方形的长为:".$length."<br>";
          echo "长方形的宽为:".$width."<br>";
          echo "长方形的面积为:".$area;
      }
      $length = 10;
      $width = 5;
      $myFunction ="calculate";
      $myFunction($length,$width);                        //调用变量函数myFunction()
      ?>

该程序被执行时,运行结果如图3-10所示。

图3-10 调用变量函数

变量函数的优点是可以增加程序的灵活性,但是滥用变量函数会降低PHP代码的可读性,使程序逻辑变得难以理解,为代码的维护带来极大的困难,甚至可能引发一系列的安全问题。所以在编程中应该尽量少用或者避免使用变量函数。