我想做类似以下的事情(key3是1 + 2的组合):
$a = array(
'key1' => 5,
'key2' => 10,
'key3' => $a['key1']+$a['key2'] // want it to be 15
);
我该怎么做?我是否需要从数组外部引用然后合并它们?因为这不起作用!
提前致谢,
莫里斯
答案 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'];
它会产生预期的结果。但是,我有一种感觉,当前两个成员中的一个发生变化时,你试图让第三个成员改变,我担心你将无法轻易实现这一点。