,可以通过以下步骤实现:
以下是一个示例的PHP代码实现:
function renameArrayKeysRecursive($array) {
$result = array();
foreach ($array as $key => $value) {
if (is_string($key) && preg_match('/[A-Z]/', $key)) {
$newKey = strtolower(preg_replace('/([a-z])([A-Z])/', '$1-$2', $key));
$result[$newKey] = is_array($value) ? renameArrayKeysRecursive($value) : $value;
} else {
$result[$key] = is_array($value) ? renameArrayKeysRecursive($value) : $value;
}
}
return $result;
}
// 示例数组
$array = array(
"ArrayKey" => "Value",
"NestedArray" => array(
"NestedKey" => "NestedValue"
)
);
// 递归重命名数组键
$renamedArray = renameArrayKeysRecursive($array);
// 输出重命名后的数组
print_r($renamedArray);
以上代码将输出:
Array
(
[array-key] => Value
[nested-array] => Array
(
[nested-key] => NestedValue
)
)
这样,我们就成功地递归地将数组键中的大写字母重命名为短划线和小写字母。
领取专属 10元无门槛券
手把手带您无忧上云