PHP:声明数组元素有值同样指定其他元素吗?

时间:2016-03-17 06:34:01

标签: php arrays element declare

请参阅示例:

$array = array('001' => 'A', '002' => 'B', '002' => value of 001);

我想声明一个像上面这样的数组。但我需要元素002的值始终与元素001相同。我该怎么做?

请帮帮我。非常感谢你。

2 个答案:

答案 0 :(得分:1)

要使$array['002']的值始终$array['001']相同,您需要通过引用分配它:

$array = array( '001' => 'A' );
$array['002'] = &$array['001'];
//              -

正常赋值在新变量中创建原始值的副本,因此 - 当原始变量更改时 - 新创建的值保持旧值。使用关键字&,我们可以通过引用进行分配:通过这种方式,新变量指向原始变量(如别名或文件的符号链接)并反映其变化。

现在,写下这个:

$array['001'] = 'B';
echo $array['002'];

结果是:

B

因为$array['002']反映了$array['001']新值。

详细了解References in php

答案 1 :(得分:0)

由于您的问题没有说明价值的来源,我只想说您可以使用

$val1 = 'A';
$array = array(
    '001' => $val1,
    '002' => $val1,
);