在 php 函数中,存储变量变量的变量类型称为引用或地址,允许通过变量修改另一变量的值。php 支持两种引用:变量引用 (&) 指向简单变量,数组引用 (&[]) 指向数组元素。通过使用 & 符号和 &[] 符号创建引用,变量引用和数组引用在传递回调函数、修改对象实例变量等场景中非常有用。
PHP 函数中存储变量变量的变量类型
在 PHP 函数中,可以存储变量变量的变量类型称为引用(reference)或地址(address)。这允许我们通过一个变量修改另一个变量的值。
PHP 中支持两种类型的引用:
立即学习“PHP免费学习笔记(深入)”;
- 变量引用 (&): 对于简单值,创建一个指向另一个变量的引用。
- 数组引用 (&[]): 对于数组,创建一个指向数组元素的引用。
使用变量引用
要创建变量引用,在变量名前使用 & 符号:
1 2 3 4 5 6 7 8 |
|
使用数组引用
要创建数组引用,在数组索引前使用 &[] 符号:
1 2 3 4 5 6 7 8 |
|
实战案例
变量引用和数组引用可以在各种场景中使用。例如:
-
将回调函数作为参数传递给其他函数:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
function
sum(
$a
,
$b
) {
return
$a
+
$b
;
}
$arr
= [10, 20];
// 使用数组引用将 $arr[1] 作为第二个参数传递
array_walk
(
$arr
,
'sum'
, &
$arr
[1]);
echo
$arr
[1];
// 输出:30
?>
-
在面向对象的编程中,修改对象的实例变量:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
class
User {
private
$name
;
public
function
__construct(
$name
) {
$this
->name =
$name
;
}
public
function
getName() {
return
$this
->name;
}
public
function
rename(&
$name
) {
$this
->name =
$name
;
}
}
$user
=
new
User(
'alice'
);
$user
->rename(
'bob'
);
echo
$user
->getName();
// 输出:bob
?>
登录后复制