PHP的函数应用:
PHP中没有匿名函数,每个函数都有唯一的名称。
在PHP中没有函数重载,所以不能定义重名的函数,也包括不能和系统函数重名。
在PHP中,其他函数或类的定义也可以在函数体中声明。
函数的调用:
只要声明的函数在脚本中可见,就可以通过函数名在脚本的任意位置调用。
形参在函数体中以变量的形式使用,在用户调用时才被赋值并在函数执行期间使用。
函数的返回值:
1:return语句可以向函数的调用者返回函数体中任意确定的值。
2:将程序控制权返回调用者的作用域,即退出函数。
PHP的变量范围:
局部变量:函数内部声明的变量,函数的形参。
全局变量:在函数外部定义作用域为从变量定义出开始,到本程序文件的末尾。
在函数中,除了使用global关键字,汉可以用特殊的PHP自定义$GLOBALS数组。$GLOBALS是一个超全局变量。
静态变量:static
函数中的局部变量,如不专门声明为static储存类别,默认都是动态分配存储空间的。其中的内部动态变量在函数调用结束后自动释放,如果希望函数执行后,其内部变量仍然保存在内存中,应使用静态变量。
注意:如果在函数形参中有使用&修饰的参数,则在调用函数时,就必须传入一个变量给这个参数,而不能传递一个值。
默认参数的函数:
在定义函数时声明了参数,而在调用函数时没有指定参数或是少指定了参数,就会出现缺少参数的警告。
在PHP中,支持函数的默认方式调用,即为参数指定一个默认值。默认值必须是常数表达式,不能是变量、类成员或者函数调用。PHP还允许使用数组和特殊类型null做默认参数。
PHP中没有匿名函数,每个函数都有唯一的名称。
在PHP中没有函数重载,所以不能定义重名的函数,也包括不能和系统函数重名。
在PHP中,其他函数或类的定义也可以在函数体中声明。
函数的调用:
只要声明的函数在脚本中可见,就可以通过函数名在脚本的任意位置调用。
形参在函数体中以变量的形式使用,在用户调用时才被赋值并在函数执行期间使用。
函数的返回值:
1:return语句可以向函数的调用者返回函数体中任意确定的值。
2:将程序控制权返回调用者的作用域,即退出函数。
PHP的变量范围:
局部变量:函数内部声明的变量,函数的形参。
全局变量:在函数外部定义作用域为从变量定义出开始,到本程序文件的末尾。
注意:PHP中,函数无法直接调用全局变量,若要在函数中使用全局变量,必须要利用global关键字定义目标变量,告诉函数主体此变量为全局变量。
<?php
$one=200;
$two=100;
function demo(){
global $one,$two;
return $one+$two;
}
echo demo();
在函数中,除了使用global关键字,汉可以用特殊的PHP自定义$GLOBALS数组。$GLOBALS是一个超全局变量。
<?php
$one=200;
$two=100;
function demo(){
return $GLOBALS["one"]+$GLOBALS["two"]; //注意没有$
}
echo demo();
静态变量:static
函数中的局部变量,如不专门声明为static储存类别,默认都是动态分配存储空间的。其中的内部动态变量在函数调用结束后自动释放,如果希望函数执行后,其内部变量仍然保存在内存中,应使用静态变量。
在函数执行完毕后,静态变量不会消失,而是在所有对该函数的调用之间共享,即在函数再次执行时,静态变量将继续前次的结果继续运算,并且仅在脚本的执行期间函数第一次被调用时被初始化。
引用参数的函数:
function test(&$a){ //将数值或变量的内存存储区块的地址导入函数中。
$a=100;
}
注意:如果在函数形参中有使用&修饰的参数,则在调用函数时,就必须传入一个变量给这个参数,而不能传递一个值。
默认参数的函数:
在定义函数时声明了参数,而在调用函数时没有指定参数或是少指定了参数,就会出现缺少参数的警告。
在PHP中,支持函数的默认方式调用,即为参数指定一个默认值。默认值必须是常数表达式,不能是变量、类成员或者函数调用。PHP还允许使用数组和特殊类型null做默认参数。
当使用默认参数时,任何默认参数必须放在任何非默认参数的右侧。
<?php
function demo($a,$b="abc",$c=20){
//函数体
}
demo("def");