首页 > 文章列表 > PHP 函数的参数传递方式有什么限制?

PHP 函数的参数传递方式有什么限制?

php 函数参数传递
367 2024-04-23

PHP 函数参数传递方式:按值传递(副本)和按引用传递(原始变量);限制:只能按引用传递变量且必须赋值。

PHP 函数的参数传递方式有什么限制?

PHP 函数的参数传递方式及限制

参数传递方式

PHP 中有两种主要的参数传递方式:

  • 按值传递(Pass-by-Value):函数副本参数的值,在函数内对参数的任何更改都不会影响函数外的原始变量。
  • 按引用传递(Pass-by-Reference):函数接收对原始变量的引用,对函数内参数的更改也会反映在函数外的原始变量上。

限制

PHP 对函数参数传递方式有一些限制:

  • 按引用传递的限制

    • 只能使用变量作为按引用传递的参数。
    • 按引用传递的参数必须在函数内赋值,否则会产生错误。

实战案例

按值传递

function sum(int $num1, int $num2) {
  $result = $num1 + $num2;
  return $result;
}

$a = 5;
$b = 10;

$result = sum($a, $b); // $result 为 15,$a 和 $b 不受影响

按引用传递

function swap(int &$num1, int &$num2) {
  $temp = $num1;
  $num1 = $num2;
  $num2 = $temp;
}

$a = 5;
$b = 10;

swap($a, $b); // $a = 10,$b = 5