在 PHP 中处理数组:按值或引用传递
在 PHP 中使用数组时,了解分配给 new 时如何处理它们变量或传递给函数至关重要。
数组赋值
将数组赋值给变量时(例如 $b = $a),PHP 始终执行值复制。这意味着对新变量 ($b) 所做的更改不会影响原始数组 ($a),反之亦然。如果需要创建对原始数组的引用,则必须使用引用运算符 ($b =& $a)。
将数组传递给函数
时数组作为参数传递给函数,通常按值复制。这意味着在函数内进行的修改不会修改原始数组。要通过引用传递数组,必须在参数之前使用 & 符号声明函数(例如,function my_func(& $a))。
示例代码
为了说明这一点,请考虑以下 PHP 代码:
function my_func($a) { $a[] = 30; } $arr = array(10, 20); my_func($arr); var_dump($arr);
输出(通过值):
array 0 => int 10 1 => int 20
输出(通过引用传递):
array 0 => int 10 1 => int 20 2 => int 30
如所示,函数内所做的更改仅在以下情况下影响数组:它是通过引用传递的。
以上是PHP 数组:按值传递还是按引用传递?的详细内容。更多信息请关注PHP中文网其他相关文章!