在自身内部引用数组值

时间:2015-09-02 20:10:54

标签: php arrays

我花了最后一小时在网上搜索这个。我需要从我的私人项目块中解决一个非常具体的问题,在我把它全部抛弃并重新开始另一种方法之前,我想问一下。有没有人知道有一些方法可以达到这样的目的:

(伪代码,如果尝试,将失败,如预期的那样)

$myArray = array(
    'a' => 'foo',
    'b' => 'bar',
    'c' => $myArray['a'].'baz'
)

输出:

Array (
        [a] => foo
        [b] => bar
        [c] => foobaz
)

除了将$myArray['a']分配给$dummyVar然后再将其放入$myArray['c']之外的任何内容。只要我能做到这一点,我的目标无关紧要。如果不可能,我会删除它并以其他方式执行。

谢谢!

2 个答案:

答案 0 :(得分:1)

当您尝试引用它时,这将有效,因为$myArray['a']实际存在。

$myArray = array();
$myArray['a'] = 'foo';
$myArray['b'] = 'bar',
$myArray['c'] = $myArray['a'].'baz';

答案 1 :(得分:1)

在我的生产服务器上运行PHP 5.6,但下面的所有内容都给出了您的预期输出。我强烈建议不要使用第一个例子..你知道,因为exec不好。

$Array = array( 
    0 => 1,
    1 => 2,
    2 => 3,
    4 => "foo",
    5 => exec("echo baz"). "foo"

);


$Array = array(
    0 => 1,
    1 => 2,
    2 => 3,
    4 => "foo",
    5 => ($Array[4]) . "foo"
);

$Array = array(
    0 => 1,
    1 => 2,
    2 => 3,
    4 => "foo",
    5 => $Array[4] . "foo"
);



echo "<pre>";
    print_r($Array);
echo "</pre>";