php 函数中使用引用可修改函数外部变量的值。使用 ...$args 创建可变参数函数,可存储所有参数的数组。通过在参数名前加上 &,可在函数内修改参数值。实战案例:创建可变参数函数 string_lengths 来计算字符串长度,并使用引用修改字符串值以计算大写字符串的长度。
PHP 函数中使用引用:创建简单的可变参数函数
PHP 中的引用允许您修改函数外部变量的值。这对于在函数内部更改参数值非常有用。
创建可变参数函数
立即学习“PHP免费学习笔记(深入)”;
要创建可变参数函数,可以使用三个句点 (...) 和参数名:
function foo(...$args) {
// ...
}
参数名将存储所有传递给函数的参数数组。
使用引用修改参数值
要使用引用修改参数值,您需要在参数名前加上一个 &:
function foo(&$arg) {
// ...
}
现在,您在函数内部对 $arg 所做的任何更改都将反映在函数外部的变量中。
实战案例:计算字符串长度
让我们创建一个可变参数函数来计算字符串长度:
function string_lengths(...$strings) {
$lengths = [];
foreach ($strings as &$string) {
$string = strtoupper($string);
$lengths[] = strlen($string);
}
return $lengths;
}
在这个例子中:
- ...$strings 参数接收一个可变数量的字符串。
- 循环迭代每个字符串并使用引用(&$string)来修改其值(转换为大写)。
- 字符串的长度被添加到 $lengths 数组中。
用法:
$string1 = 'hello';
$string2 = 'world';
$lengths = string_lengths($string1, $string2);
echo $string1; // 输出 HELLOWORLD
echo $string2; // 输出 HELLOWORLD
在上面的示例中:
- 函数 string_lengths 接收两个字符串作为参数。
- 在函数内部,字符串转换为大写并计算其长度。
- 函数返回长度数组。
- 打印 $string1 和 $string2 变量,显示它们已在大写且字符串长度已更改。