主题 | 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多了 |
对比JAVA学习PHP系列:函数
函数的存在是为了将程序按功能分块。方便程序的使用、管理和调试。