在PHP中,可以使用以下方法动态输入只知道键的多维数组:
function setNestedValue(array &$array, array $keys, $value) {
$key = array_shift($keys);
if (count($keys) === 0) {
$array[$key] = $value;
} else {
if (!isset($array[$key]) || !is_array($array[$key])) {
$array[$key] = [];
}
setNestedValue($array[$key], $keys, $value);
}
}
// 示例用法
$data = [];
$keys = ['key1', 'key2', 'key3'];
$value = 'Hello World';
setNestedValue($data, $keys, $value);
print_r($data);
输出结果:
Array
(
[key1] => Array
(
[key2] => Array
(
[key3] => Hello World
)
)
)
$data = [];
$keys = ['key1', 'key2', 'key3'];
$value = 'Hello World';
$currentArray = &$data;
foreach ($keys as $key) {
if (!isset($currentArray[$key]) || !is_array($currentArray[$key])) {
$currentArray[$key] = [];
}
$currentArray = &$currentArray[$key];
}
$currentArray = $value;
print_r($data);
输出结果:
Array
(
[key1] => Array
(
[key2] => Array
(
[key3] => Hello World
)
)
)
以上两种方法可以动态输入只知道键的多维数组。在实际应用中,可以根据具体需求选择适合的方法。
领取专属 10元无门槛券
手把手带您无忧上云