在PHP中重用密钥名称(例如,用于数组)


Reusing Key names (e.g. for arrays) in PHP

我想使用变量或常量或其他东西来重用数组的键名,以确保脚本中没有拼写错误。

糟糕的例子,我必须重新键入keyname:

$var = array['keyName'];
$var2 = array['keyName'];

现在,如果我更改密钥名称,我必须检查所有位置,并在必要时进行替换。我目前的解决方案是这样的:

$key = 'keyName';
$access = array[$key];
function foo($inputArray) {
// Necessary global, to access $key
global $key;
$var = $inputArray[$key];
}

但这似乎有点不对。在确保我的IDE检测到所有使用的同时,重用密钥名称的最佳方式是什么?我知道define(string,string),但在某些情况下我遇到了问题,因为它并没有一直解决这些问题。

这个例子显示了常量对我不起作用的地方:

define('requestParameterName', 'requestParam');
function checkGuess() {
    $currentGuess = strtoupper($_REQUEST['requestParameterName'] . " further concatenation");
    echo $currentGuess;
}

在前面的示例中,"requestParameterName"是有效的参数名称,而不是我希望的"requestParam"。

使用您刚刚发布的示例,将''放入$_REQUEST['requestParameterName']。让它只是$_REQUEST[requestParameterName]。不过,为了便于阅读,我会在常量中使用所有大写字母。