在php中引用数组里面的姐妹元素

时间:2011-03-14 18:41:14

标签: php arrays

我想做类似以下的事情(key3是1 + 2的组合):

$a = array(
    'key1' => 5,
    'key2' => 10,
    'key3' => $a['key1']+$a['key2'] // want it to be 15
);

我该怎么做?我是否需要从数组外部引用然后合并它们?因为这不起作用!

提前致谢,

莫里斯

3 个答案:

答案 0 :(得分:6)

你将无法以这种方式初始化它,因为PHP尚未完成并初始化整个数组,因此它还不能使用其他值。

初始化前两个元素后你必须这样做:

$a = array(
    'key1' => 5,
    'key2' => 10
); // At this point, $a is ready for use

$a['key3'] = $a['key1'] + $a['key2']; // Or simply = array_sum($a);

答案 1 :(得分:5)

之后建议更新表的解决方案很好,但您也可以使用变量来存储数据:

$var1 = 5;
$var2 = 10;

$a = array(
    'key1' => $var1,
    'key2' => $var2,
    'key3' => $var1 + $var2
);

答案 2 :(得分:1)

为什么不这样做:

$a = array(
    'key1' => 5,
    'key2' => 10,
    'key3' => 0
);

$a['key3'] = $a['key1']+$a['key2'];

它会产生预期的结果。但是,我有一种感觉,当前两个成员中的一个发生变化时,你试图让第三个成员改变,我担心你将无法轻易实现这一点。