4.2 函数的其他定义方式
函数不仅可以在脚本中定义,也可以在流程控制语句甚至函数里定义,如代码4-1所示。
代码4-1 函数的其他存在形式4-1.php
01 <?php 02 // 定义一个没有参数的函数 03 function onvar(){ 04 echo " 无参函数<br>"; 05 return; 06 } 07 // 调用定义好的函数 08 onvar(); 09 // 返回值的函数 10 function returnValue(){ 11 return true; 12 } 13 // 在程序流程控制语句中直接使用带返回值的函数 14 if(returnValue()){ 15 // 定义在程序流程控制语句内的函数 16 function inFunction(){ 17 echo " 根据条件定义的函数<br>"; 18 } 19 } 20 // 当returnValue() 函数返回TRUE 值时, 才可以调用inFunction() 函数 21 inFunction(); 22 // 定义一个函数 23 function base(){ 24 // 在函数中定义一个函数 25 function offset(){ 26 echo " 在函数内部定义的函数<br>"; 27 } 28 // 在函数中定义一个类 29 class subClass{ 30 // 在类里定义一个函数 31 function subShow(){ 32 echo " 在函数内部定义的类里的函数"; 33 } 34 } 35 } 36 // 先调用外部函数 37 base(); 38 // 再调用内部函数 39 offset(); 40 // 函数运行后, 初始化subClass 41 $newClass = new subClass(); 42 $newClass->subShow(); 43 ?>
【代码解析】第23~35行定义了一个函数base(),不管是在在流程控制语句中定义的函数,还是在函数中定义的函数,在使用时都应该注意调用的先后顺序。这段代码的输出结果如图4-1所示。
图4-1 函数的其他存在形式