对比JAVA学习PHP系列:函数

时间:2022-07-15 15:39:29
函数的存在是为了将程序按功能分块。方便程序的使用、管理和调试。
主题 PHP JAVA
函数的定义 function 函数名([参数1, 参数2...参数n])
{
    函数体;
    return 返回值;
}
与java形式上区别较大,java是不需要写function的,并且java是强类型的。

变量的范围 局部变量:函数内部声明的变量,作用范围仅限于函数内部
全局变量:全局变量也称为外部变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。这里有一点特别需要区别java的是:$one 200;
$two 100;

function demo()
{
    echo $one $two;
}

function demo1()
{
    global $one$two;
    echo $one $two;
}


这里demo输出为0;demo1输出为300即在函数中要想使用全局变量必须使用关键字global、或者使用$GLOBALS替代global。
静态变量:要声明函数中的变量为静态变量,需要用static,与java一致。如果函数变量为静态的,那么该函数运行完毕后这个静态变量是不释放的。
java中全局变量这块和php差别非常大
各种类型的函数 常规参数的函数
伪类型参数的函数
引用参数的函数(感觉这里还是c语言的思想,与java区别非常大)php默认是按照值传递参数的,即使在函数内部改变了参数的值,它也不会改变外部的值,不会对调用它的父程序造成影响如果在 函数的参数前加上&符号。就不同了。如果在函数内部改变了参数的值,它会改变外部的值。不过在调用这个函数的时候必须传入一个变量,而不是一个值。
默认参数的函数
可变个数参数的函数与java类似
回调函数具体理解可见:http://www.uncletoo.com/html/application/1188.htmlhttp://www.zeroplace.cn/article.asp?id=901这么看来php不仅支持回调函数还支持接口回调。前者是函数式编程的思想,后者是面对对象的思想。
构造函数静态函数普通函数
java的类型就没有php多了