一、说明
功能层面,函数是模块化程序的体现,一个程序由很多个大功能组成,大功能由很多小功能(函数)模块组成
代码层面,封装的功能用{}包住,用function关键字,给功能模块起个名字函数名
二、参数
形参是普通变量function test($i)
实参是引用变量function test(&$i)
三、变量与常量作用域、生命周期
变量(有预定义变量也叫超全局变量如$_GET、$_POST、$GLOBALS、全局变量、局部变量、静态变量仅声明一次 关键字static修饰)与常量
作用域:一个变量的作用范围
1、函数内部访问内部,外部访问外部
2、内部访问外部:
传参可以解决函数访问外部数据
$i = 1;
function test2($i){
$i++;
}
test2($i);
GLOBALS会保存所有全局变量为数组,所有函数内部都可以使用GLOBALS会保存所有全局变量为数组,所有函数内部都可以使用GLOBALS会保存所有全局变量为数组,所有函数内部都可以使用GLOBALS的值
$name = '张三';
$age = 18;
function test(){
echo $GLOBALS['name'];
echo $GLOBALS['age'];
}
test();
3、外部访问内部:global关键字
function test1(){
global $name1;
$name1 = '李四';
}
test1();
echo $name1;
print_r($GLOBALS);
global 变量名;实际是在函数内部创建同名函数,并引用此全局变量的地址,达到内部外部都可以修改变量的值,如果外部没有这个变量则定义一个同名全局变量
关于作用域:
常量:任何位置都可以访问
预定义变量:不受作用域影响
局部变量:受作用域影响,只能在函数内部使用
静态变量:受作用域影响,只能在函数内部使用
生命周期:一个变量的作用时间范围
常量:从脚本开始到结束(仅限在引用的定义php常量的脚本中)
全局变量:从脚本开始到结束
局部变量:从函数还是到函数结束
静态变量:从脚本开始到结束(当函数执行完毕后,静态变量不会消失)
本文详细阐述了函数在功能和代码层面的定义,强调了参数的类型,包括形参和实参的区别。同时,深入探讨了变量的作用域,包括全局、局部、静态变量以及常量的特性。通过示例解析了如何在函数内外传递和访问数据,如使用$GLOBALS和`global`关键字。此外,还介绍了变量的生命周期,以及不同类型的变量在脚本中的存在时间。
3009

被折叠的 条评论
为什么被折叠?



