php函数参数赋值

PHP中,函数参数赋值分为两类:传值赋值和引用赋值。

1. 传值赋值

传值赋值是指将实参的值传递给形参,这样函数内部对形参的操作不会影响外部的实参。例如:

```

function add($a, $b) {

$result = $a + $b;

return $result;

}

$num1 = 10;

$num2 = 20;

$sum = add($num1, $num2);

echo $sum; // 输出30

echo $num1; // 输出10

echo $num2; // 输出20

```

在上面的例子中,$num1和$num2是实参,$a和$b是形参。在调用add函数时,$num1和$num2的值被传递给$a和$b,但是在函数内部对$a和$b的操作不会改变$num1和$num2的值。

2. 引用赋值

引用赋值是指将实参传递给形参时,实参的内存地址被传递给形参,形参指向了实参所在的内存地址。这样函数内部对形参的操作会影响外部的实参。例如:

```

function swap(&$a, &$b) {

$temp = $a;

$a = $b;

$b = $temp;

}

$num1 = 10;

$num2 = 20;

swap($num1, $num2);

echo $num1; // 输出20

echo $num2; // 输出10

```

在上面的例子中,$num1和$num2是实参,$a和$b是形参。在调用swap函数时,$num1和$num2的地址被传递给$a和$b,函数内部对$a和$b的操作会影响$num1和$num2的值。

需要注意的是,在PHP5以前,函数参数默认是传值赋值,如果需要使用引用赋值,则需要在函数定义时在形参前面加上”&”符号。例如:

```

function sum(&$num1, $num2) {

$num1 += $num2;

}

$num1 = 10;

$num2 = 20;

sum($num1, $num2);

echo $num1; // 输出30

echo $num2; // 输出20

```

PHP7及以上版本中,参数可以使用“...”语法表示可变数量的参数。

例如:

```

function sum(...$nums) {

$result = 0;

foreach ($nums as $num) {

$result += $num;

}

return $result;

}

$sum = sum(1, 2, 3, 4, 5);

echo $sum; // 输出15

```

在上面的例子中,函数的参数使用“...$nums”的语法表示一个可变数量的参数数组。在调用函数时,可以传递任意数量的参数,并将它们存储在一个名为$nums的数组中。函数内部可以使用foreach循环遍历数组中的每个参数并进行运算。

需要注意的是,可变参数在形参列表中必须是最后一个参数。例如:

```

function sum($num1, ...$nums, $num2) {

// ...

}

```

上述定义是错误的。

总结:

传值赋值和引用赋值是PHP中函数参数赋值的两种方式,传值赋值是指将实参的值传递给形参,引用赋值是指将实参的内存地址传递给形参,形参指向了实参所在的内存地址。在PHP7及以上版本中,参数可以使用“...”语法表示可变数量的参数,但是必须放在形参列表的最后。

壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(107) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部