我确定以前有人问过这个问题,但我找不到。PHP文档对此不清楚,我找不到任何这样的例子。在使用 array() 构造的数组声明中使用变量是否合法?不是作为键,而是作为值。像这样:
function myFunc($value1, $value2, $value3) {
$myArr = array('value1' => $value1, 'value2' => $value2, 'value3' => $value3);
return $myArr;
}
那合法吗?
我确定以前有人问过这个问题,但我找不到。PHP文档对此不清楚,我找不到任何这样的例子。在使用 array() 构造的数组声明中使用变量是否合法?不是作为键,而是作为值。像这样:
function myFunc($value1, $value2, $value3) {
$myArr = array('value1' => $value1, 'value2' => $value2, 'value3' => $value3);
return $myArr;
}
那合法吗?
是的,这是合法的。否则你会得到一个错误。
键和值都可以是任意表达式*
$r = array(
phpversion() => 1 + 2 - 3,
);
是的,这是绝对合法的!您还可以使用变量作为键名:
$myArr = array($thekey => $theval);
任何键/值对的键或值不需要采用任何特定格式,它只需要评估为原始类型(即:数字或字符串)。该array()
构造只是查找它传递的“简化”值;它不关心他们是什么或他们是如何到达那里的。
希望这可以帮助!