在声明之前调用数组元素

时间:2013-07-23 01:52:52

标签: php arrays

对不起这个问题,但我对此案感到好奇。好的,例如我有一个数组元素:

<?php

     $data = array(
        'key1' => 'val1',
        'key2' => 'val2',
        'key3' => $data['key2'] //the point
     );

?>

我知道它会出错,因为我调用了一个元素,而数组还没有声明。但这样做有可能吗?事实上,'key2'的值是动态的。

2 个答案:

答案 0 :(得分:8)

不,但你可以轻松地做到这一点:

$data = [
    "key1"=>"val1",
    "key2"=>"val2"
];
$data["key3"] = $data["key2"];

甚至$data["key3"] = &$data["key2"];可以通过引用链接它们。

答案 1 :(得分:1)

PHP按此顺序处理:

  1. 使用初始化值创建数组。
  2. 将数组分配给变量$ data。
  3. 所以不,你不能在一行中做到这一点。当然,您可以将'val2'分配给变量,然后分配给两个键。