php函数之如何按值传递参数?

上一篇文章中我们了解了什么是参数,如何去创建一个函数学习了形式参数和实际参数,有需要的请看《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视频教程

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php函数之如何按值传递参数?