php数组通过复制值或引用分配?

标签 php arrays variable-assignment

<分区>

Possible Duplicate:
are arrays in php passed by value or by reference?

我听说 PHP 可以选择如何分配数组,这取决于数组的大小。 它可以通过复制值(作为任何标量类型)或通过引用来分配。

PHP 始终通过复制值将数组分配给变量,如手册中所述。

也可以通过引用赋值。 ?

<?php $a = array(1,2,3); ?>

最佳答案

将数组变量分配给其他变量时,可以通过引用分配数组:

// By value...
$a = array(1,2,3);
$b = $a;
array_push($a, 5);
print_r($b);

// $b is not a reference to $a
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)

// By Reference
$a = array(1,2,3);
$b = &$a; // Here we assign by reference
array_push($a, 5);
print_r($b);

// $b is a reference to $a and gets the new value (3 => 5)
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 5
)

关于php数组通过复制值或引用分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8897749/

相关文章:

python pandas 变量赋值

php - 使用 php 数组生成单个 MySQL INSERT 查询

php - FOSUserBundle 使用服务提供商的电子邮件登录,最佳实践

php - Controller 中的过滤方法

php - 在 Ruby、Python 或 PHP 中,是否有一个插入到 Array 对象中间需要 O(1) 时间的操作?

PHP:什么更快? array_merge 或数组联合运算符 (+)?

php - 目录和动态分页 PHP

ios - 如何在 swift 中按日期对对象数组进行分组?

batch-file - 如何通过从批处理或cmd中读取文本文件来创建保存多行的变量

C++获取字节数组中字符串后的短数字