有没有办法从数组中引用数组键?这在代码格式中可能更有意义:
$array=array(
"Key1"=>array(
"Value1",
"Value2"
),
"Key2"=>&$this['Key1']
);
我想要的是$array['Key2']
输出与$array['Key1']
相同的内容。创建数组后,我可以添加$array['Key2']=&$array['Key1'];
,但如果可能的话,我希望将它全部保存在一个代码块中。
我已经检查过参考文档,以及一些建议类似的问题,并搜索“php数组引用”。
答案 0 :(得分:29)
事实证明,答案是肯定的。然而,它不是一个整洁的语法,因为它使用一种子语句,并使当前范围散落着额外的引用变量。
请考虑以下代码:
<?php
$array = array(
// Creates Key1 and assigns the value to it
// A copy of the value is also placed in $ref
// At this stage, it's not a reference
"Key1"=>($ref = array(
"Value1",
"Value2"
)),
// Now Key2 is a reference to $ref, but not to Key1
"Key2"=>&$ref,
// Now everything is referenced together
"Key1"=>&$ref
);
我很惊讶这种方法没有错误,但确实如此 - here's the proof。当然,你不会这样做,但你可以......
答案 1 :(得分:0)
无法在一个区块中进行,因为您尚未初始化变量。与类变量相同。要做这样的事情,你需要以任何方式创建任何变量,而不仅仅使用它的链接,但它使用内存,所以再一次,真正回答你的问题是 - 不可能:)