PHP中的函数

原创
2016-06-23 13:27:31 935浏览

概述

函数名和 PHP 中的其它标识符命名规则相同。有效的函数名以字母或下划线打头,后面跟字母,数字或下划线

函数名是大小写无关的,不过在调用函数的时候,使用其在定义时相同的形式是个好习惯

PHP 不支持函数重载,也不可能取消定义或者重定义已声明的函数

函数的定义

当一个函数是有条件被定义时,必须在调用函数之前定义

函数中的函数

函数的参数

值传递与引用传递

默认情况下,函数参数通过值传递(因而即使在函数内部改变参数的值,它并不会改变函数外部的值)。如果希望允许函数修改它的参数值,必须通过引用传递参数。

如果想要函数的一个参数总是通过引用传递,可以在函数定义中该参数的前面加上符号 &

默认参数

注意当使用默认参数时,任何默认参数必须放在任何非默认参数的右侧

默认值必须是常量表达式,不能是诸如变量,类成员,或者函数调用等

还允许使用数组 array 和特殊类型 NULL 作为默认参数

可变数量的参数

在 PHP 5.6 及以上的版本中,由 ... 语法实现可变数量的参数列表

在PHP5.5及更早版本,可以用func_num_args(), func_get_arg()和 func_get_args()实现

func_num_args()返回参数的个数

func_get_args()返回一个包含函数参数列表的数组

func_get_arg()返回参数列表的某一项,参数从0开始

\n";     if ($numargs >= 2) {         echo "Second argument is: " . func_get_arg(1) . "
\n"; }}foo (1, 2, 3);?>
返回值

如果省略了 return,则返回值为 NULL

函数不能返回多个值,但可以通过返回一个数组来得到类似的效果

可变函数

这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它

\n";}function bar($arg = '') {    echo "In bar(); argument was '$arg'.
\n";}// 使用 echo 的包装函数function echoit($string){ echo $string;}$func = 'foo';$func(); // This calls foo()$func = 'bar';$func('test'); // This calls bar()$func = 'echoit';$func('test'); // This calls echoit()?>
匿名函数

匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。

匿名函数赋给一个变量,最后也要加上分号:

闭包可以从父作用域中继承变量。 任何此类变量都应该用 use 语言结构传递进去

版权声明:本文为博主原创文章,未经博主允许不得转载。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。