PHP学习笔记之PHP函数(三)

认识php函数

  • 函数可以使程序更具模块化,拥有良好的结构;
  • 函数分为内置函数和自定义函数;
  • 函数名不区分大小写,不过在调用函数的时候,通常使用其在定义时相同的形式;
  • php不支持函数重载, 所以自定义函数不能和内置函数重名;

函数参数的传递

1.值传递(传值):函数内对参数值的改变不会影响函数外部的值;
2.引用传递(传址):有些情况下,可能希望在函数体内对参数的修改在函数体外也能反映;
  • 使用引用传递参数要在参数前加上&符号;
  • 变量本身传入,传入后的变量与原变量建立联系,函数体内变量的变化,会影响到原变量本身;
3.默认参数值:可以为参数指定默认值,在没有提供其他值的情况下,则将默认值自动赋;

函数中变量的作用域

1.局部变量
  • 函数体内定义的变量为局部变量,只在函数体内可见;局部变量的作用域,从声明它的那条语句开始到函数结束;
function(){
    $b = 5 ;
    echo "$b";
}
echo "$b";

以上代码只有函数内的"$b"能够输出,函数外的"$b"获取不到

2.全局变量
  • 函数体外定义的变量为全局变量,与局部变量相反,全局变量可以在程序的任何地方访问;
  • 如果在函数体中需要使用全局变量,使用 global 关键字访问;
  • 全局变量的作用域:从声明它的那条语句开始到文件末尾;
function quanju(){
    //声明$b为全局变量,否则就是局部变量,注意声明与赋值不能写在同一行,先声明后赋值
    global $b;
    $b = 5;
}
quanju();
echo();

以上代码,函数外能输出函数里面的变量

3.静态变量
  • 局部变量在函数退出时会被撤消,与局部变量不同,静态变量在函数退出时不会丢失值,并且再次调用函数时还能保留这个值;
  • 在变量名前面加上 static 关键字就可以声明一个静态变量
function fn(){
    static $c =0; //相当于将$c return出去
    $c ++;
    echo "$c";
}
fn();
fn();
fn();
  • 以上代码的$c在fn重新调用时不会被改变为0;而是保留上次运行结束时的值

函数库(include,require)

通常将常用的函数组织到函数库中,可以在以后类似的应用程序中重复使用。
  • 调用函数库中的函数时使用include()或require()将函数库包含到脚本中;
  • includeonce()/requireonce() 的作用与include()/require()相同,不过它会首先验证是否已经包含了该文件,如果已经包含,则不再执行;

  1. 新建一个"show.php"文件 function show(){ echo "include加载成功" }
  2. 在另一个主文件件中访问新建的文件,可以调用该函数 include("show.php"); show();

你可能感兴趣的:(PHP,PHP,php,函数)