{
fun_body
}

function 声明自定义函数的必须利用的关键字
fun_name 自定义函数的名称。
$str1,$str2 为自定义函数的参数。
fun_body 自定义函数的主体,功能实现的部分。
调用函数:引用函数名并授予精确的参数
例如:
<?phpfunction method($a){return "$a x $a =".$a $a;}echo method(5);?>输出结果:5 x 5 = 25
二、在函数间通报参数
调用须要通报参数,被传入的参数叫实参,在函数里定义的参数的形参。函数间的参数的通报办法有按值通报、按引用通报、默认参数3种办法。
1、按值通报办法
将实参的值赋值都对应的形参中,在函数内部的对形参进行操作,操作的结果并不会影响到实参,也便是函数实行后实参的值不会改变。
例如:
<?phpfunction method($a){$a = $a+3;echo "在函数内\$a的值是:".$a;}$a = 2;method($a);echo "<br/>";echo "在函数外\$a的值是:".$a;?>输出结果:在函数内$a的值是:5在函数外$a的值是:2
2、按引用通报办法
按引用通报便是将实参的内存地址通报给形参。这时候函数内部的对形参的操作都会影响到实参的值。在函数实行后实参的值将会发生改变。
引用通报的办法是函数定义后在形参前面加一个“&”的符号。
例如:
<?phpfunction method(&$a){$a = $a+3;echo "在函数内\$a的值是:".$a;}$a = 2;method($a);echo "<br/>";echo "在函数外\$a的值是:".$a;?>输出结果:在函数内$a的值是:5在函数外$a的值是:5
3、默认参数(可选参数)
可以指定某个参数是可选参数,将可选参数放在参数列表末端,并且指定其默认值是什么(可以是空的或者其他数据类型的值)。
例如:
<?phpfunction method($a,$b="",$c=2){$a = $a+($a$b+$c);echo "输出:$a <br/>";}method(10);method(10,2);method(10,2,10);?>输出结果:输出:12输出:32输出:40
三、函数的返回值
函数如果有返回值须要利用关键字reurn 或者 return()函数。如果在全局浸染域利用了return关键字,那么将终止脚本的实行。
例如:
<?phpfunction method($a){return $a+$a;}echo method(1);?>输出结果:2
return 语句只能返回一个操作数,也便是只能返回一个值,不能一次返回多个值。如果须要返回多个值,可以在函数中定义一个数组,将返回值存储在数组中返回。
四、变量函数
来看一个例子:
<?phpfunction eat(){echo "用饭<p>";}function drink($name="Tom"){echo "$name 在喝水 <p>";}function tea($a){echo "$a 在喝茶 <p>";}$a = "eat";$a(); //调用函数eat$a = "drink";$a("Jerry"); //调用函数drink$a="tea";$a("Jack"); //调用函数eat?>输出结果:用饭Jerry 在喝水Jack 在喝茶
这个例子我们可以创造变量函数的调用可以通过改变变量名就可以实现的,变量名加小括号php 自动探求和变量名相同的函数,并且实行它。如果找不到对应的函数,系统将会报错。通过这个办法,我们可以用于实现回调函数和函数表等。
五、对函数的引用前面我们说函数的参数通报可以利用引用通报的办法修正实参的内容。引用不仅可以用于普通变量、函数参数,也可以用于函数本身。对函数的引用,便是对函数返回结果的引用。
例如:
<?phpfunction &method($a=0){$a = "我在$a";return $a;}$s = &method("捉迷藏");echo $s;?>输出结果:我在捉迷藏
把稳:和参数引用通报不同,对函数的引用必须在两个地方都利用“&”符号,用来解释返回的是一个引用。
六、取消引用当不须要引用的时候,可以取消引用。取消引用利用unset()函数。它只是断开了变量名和变量内容之间的绑定,而不是销毁变量内容。
例如:
<?php$a = 1234;$b = &$a;echo "\$b:".$b."<p>";unset($b);echo "\$b:".$b."<p>";echo "\$a:".$a."<p>";?>输出结果:$b:1234$b:$a:1234
下节预报:php的编码规范