0

我确定以前有人问过这个问题,但我找不到。PHP文档对此不清楚,我找不到任何这样的例子。在使用 array() 构造的数组声明中使用变量是否合法?不是作为键,而是作为值。像这样:

function myFunc($value1, $value2, $value3) {
    $myArr = array('value1' => $value1, 'value2' => $value2, 'value3' => $value3);
    return $myArr;
}

那合法吗?

4

3 回答 3

4

是的,这是合法的。否则你会得到一个错误。

于 2009-11-15T17:41:22.407 回答
3

键和值都可以是任意表达式*

 $r = array(
     phpversion() => 1 + 2 - 3,
 );
  • 除了键不能是数组/对象/资源
于 2009-11-15T17:42:14.747 回答
1

是的,这是绝对合法的!您还可以使用变量作为键名:

$myArr = array($thekey => $theval);

任何键/值对的键或值不需要采用任何特定格式,它只需要评估为原始类型(即:数字或字符串)。该array()构造只是查找它传递的“简化”值;它不关心他们是什么或他们是如何到达那里的。

希望这可以帮助!

于 2009-11-15T20:48:58.577 回答