上一篇文章中我们了解了什么是参数,如何去创建一个函数学习了形式参数和实际参数,有需要的请看《php函数之形式参数与实际参数是什么意思?》。这次我们深入了解一下参数,介绍向函数传递参数中的按值传递。
向函数传递参数的方式有四种,分别是值传递、引用传递、默认参数和可变长度参数。今天我们就来介绍一下如何进行按值传参。
我们首先来看一个小例子。
<?php function swap($a, $b){ echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函数外,交换后 $x = '.$x.', $y = '.$y; ?>
输出结果是
函数外,交换前 $x = 5, $y = 7 函数内,交换前 $a = 5, $b = 7 函数内,交换后 $a = 7, $b = 5 函数外,交换后 $x = 5, $y = 7
在这例子中,我们可以看到在函数内部,值确实是交换的,而在函数外部,值不会改变。
通过这个小例子。我们也大致了解了按值传递参数,下面我就来详细介绍一下。
按值传递是PHP中函数的默认值传递方法,也称为“复制值传递
”。顾名思义,值转移方法将复制参数的值,然后将其转移到函数的形式参数。因此,在函数中操作参数的值不会影响函数外的参数。因此,如果不希望函数修改参数的值,可以按值传递。
就像上面那个例子一样,在函数内部,值确实是交换的,而在函数外部,值不会改变。因此可以说,函数的值传递只是传递变量的副本。那么要是想让函数能够操作函数外实参的话,就需要使用引用传递的方式了。
你想要的php知识在这里 → →php视频教程