一、函数定义
function 函数名(参数列表) {.. 函数语句….}
二、函数参数
PHP支持的函数参数传值方式有两种:值传递和引用传递。值传递是参数的一次复制操作,引用传递是传递变量的引用即变量的地址。
1、默认参数
PHP支持默认参数,默认参数的语法形式是在参数后执行复制操作,如下:
当函数使用默认参数时,默认参数必须放在非默认参数的右侧。
2、参数的值传递与引用传递
值传递是把实际参数的值复制给形式参数,引用传递是把实际参数的引用传递给形式参数。一般情况下,对于变量的传递采用值传递,对于数组的传递采用引用传递。
如果函数的输入参数很多,可以将他们存储在一个数组中,以数组的形式传递给函数;如果某个变量的值需要随着函数的调用而改变,就可以使用引用传递的方式。此时,形式参数的改变同时会引起实际参数的改变。
变量要使用引用传递,只需直接在实际参数前面加&符号即可。如果函数的参数是对象,在PHP4中,需要在对象前面加&符号。而在PHP5中对象的传递是引用传递,不再需要使用&符号,目标对象的改变将会导致源对象的改变。
ps:好像引用传递被弃用了?
3、函数的返回值
PHP的函数可以使用return关键字来返回一个变量或一个数组。return有两种写法,可以使用关键字的形式,如return $num+1;也可以使用函数的形式,如return($num+1).
PHP的函数可以通过数组的形式返回多个值。在调用函数处使用list函数获取返回的数组,这样就解决了一个函数返回多个值的问题:
<?php $a = 1; $b = 2; $c = 3; function test($a,$b,$c) { return array($a,$b,$c); } list($d,$e,$f)=test($a,$b,$c); echo $d.'<br />'; echo $e.'<br />'; echo $f.'<br />'; ?>
4、变量函数
PHP支持变量函数,如果在一个变量名后添加圆括号,PHP将寻找与变量的值同名的函数,并执行它。这可以被用于实现回调函数。
函数call_user_func和call_user_func_array用于执行自定义函数,这两个函数也可执行与变量值同名的函数,相当于变量函数的作用。
ps;函数call_user_func的第二个参数不能使用引用传递。
5、类型检测函数
PHP是一种弱类型的语言,在声明变量前不必明确的指定变量的类型,PHP解释器会自动检测变量的类型。 如果想知道某个变量的类型时,可以使用PHP自带的系统函数来获取变量类型信息,如字符串、数字、布尔类型、数组等。
is_string()
is_numeric()
is_bool()
is_array()
除了变量类型检测的函数外,PHP还提供了变量是否为空、是否赋值、是否定义的判断
is_null() 是否为空
empty() 没有值或为零值。
isset() 是否定义
转载请注明:jinglingshu的博客 » PHP函数