参数传递

王朝百科·作者佚名  2010-07-23  
宽屏版  字体: |||超大  

在使用函数时,要填入与函数形式参数个数相同的实际参数(有默认参数的除外),在程序运行过程中,实际参数就会将参数值传递给相应的形式参数,然后在函数中实现对数据的处理和返回。在由实际参数向形式参数传递过程中,共有值传递,引用传递,默认参数3种。

1、值传递

值传递,就是将实际参数的值复制到形式参数中。然后由形式参数和函数内部的计算,函数的调用结束后,实际参数的值不会发生改变。

2、引用传递

如果要实现形式参数改变时实际参数也发生相应的改变,就要使用引用传递的方式。

参数引用的方式有两种:

①在函数定义的时候,在形式参数前面加上“&”符号,例如:

function fan(&$var1){……}

②在函数调用的时候,在实际函数前面加上“&”符号。例如:

function fan($var1)(……)

fun(&$var2)

如果形式参数$var1的值在函数中发生变化,实际参数$var2的值也会发生相应的变化。

3、默认参数

php5支持有默认值的参数,即在函数定义时可以为一个或多个形式参数指定默认值。

【实例】

<HTML>

<HEAD>

<TITLE>函数参数的传递</TITLE>

</HEAD>

<BODY>

<?php

function myfun1($var1)

{ //值传递测试函数

$var1=88;

}

function myfun2(&$var1)

{ //第一种引用传递测试函数

$var1=88;

}

function myfun3($var1)

{ //第二种引用传递测试函数

$var1=99;

}

function myfun4($string,$color="red")

{ //默认参数传递测试函数

echo "<font color=".$color.">".$string."</font>";

}

$var1=66;

$string="这是红色字体!";

echo "初始值:$var=".$var1."<br>";

myfun1($var1);

echo "值传递结束后:$var=".$var1."<br>";

myfun2($var1);

echo "第一种引用传递结束后:$var=".$var1."<br>";

myfun3(&$var1);

echo "第二种引用传递结束后:$var=".$var1."<br>";

echo "默认参数的效果为:";

@myfun4($string);

?>

</BODY>

</HTML>

 
© 2005- 王朝百科 版权所有