1

很抱歉这个问题,但我只是对这个案例感到好奇。好的,例如我有一个数组元素:

<?php

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

?>

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

4

2 回答 2

8

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

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

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

于 2013-07-23T01:55:23.083 回答
1

PHP 按以下顺序处理:

  1. 使用其初始化值创建数组。
  2. 将数组分配给变量 $data。

所以不,你不能在一行中做到这一点。当然,您可以将 'val2' 分配给一个变量,然后分配给两个键。

于 2013-07-23T01:55:41.647 回答