【问题标题】:PHP: Declare array element has value same specify other element?PHP:声明数组元素具有相同的值指定其他元素?
【发布时间】:2016-03-17 06:34:00
【问题描述】:

请看示例:

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

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

请帮助我。非常感谢。

【问题讨论】:

  • 你能展示你期望的数组吗
  • 价值从何而来?您可以将值保存到变量并设置为数组索引。但你的问题并没有澄清给出更明确的答案。

标签: php arrays element declare


【解决方案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

【讨论】:

  • 绝对是 :)
  • 谢谢。但是我们不能像我的帖子那样在一份声明中声明。对吗?
  • 没有。因为数组还没有初始化。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2018-10-20
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2021-11-27
    • 2015-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多