函数的一些问题
//稳健进行函数定义的方法,使用function_exists()
if(function_exists("f1") == false){
function f1(){}
}
php非常多系统函数,有各种各样的作用,取查手册就可以了
参数
定义一个没有形参的函数,其实可以接受任意个数个参数的,并且这些实际参数都会放进一个数组中,可以用 func_get_args() 来获得
1.func_get_args()
2.func_num_args() //获取实参的数量
3.func_get_args($i) //获取第$i个实参,从0开始计数
返回值
用 return 语句来返回值。注意的是,return后无论跟不跟数据,都会终止函数的运行。
可变函数
和可变变量类似,函数的名字是一个变量
function f1(){
....
}
$v1 = "f1";
$v1(); //可以用变量名来调用函数啦
匿名函数
嘛,就是没名字的函数,有两个作用:
1.赋值给一个变量,然后可以像其他函数一样用变量名进行调用
2.作为另一个函数的实际参数进行使用,这样就可以在一个函数内,调用另一个函数了?
作用域
- 局部作用域:函数内部范围
- 超全局作用域:所有代码中都能用。只有系统定义的几个而已。$_GET,$_POST,$_REQUEST,$_SERVER,$_COOKIE,$SESSION,$_FILES,$GLOBALS 等等
- 全局作用域:函数外部
一般全局不能访问局部,局部不能访问全局。
1.全局访问局部
在函数内部将变量定义为静态变量
static $v1 = 12;
//该语句只会执行一次,会令到变量$v1不会被销毁
//可见,静态变量可以用来统计一个函数被调用了多少次
2.局部访问全局(php真搞事情。。。局部居然不能直接访问全局?叫啥全局。。。)
//方法1:
//函数内部使用关键字声明全局变量同名变量
global $v1, $v2;
//方法2:
$GLOBALS['v1']
网友评论