首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP -如何动态输入只知道键的多维数组?

在PHP中,可以使用以下方法动态输入只知道键的多维数组:

  1. 使用递归函数:可以编写一个递归函数来遍历多维数组,并根据给定的键动态输入值。递归函数可以检查当前键是否存在于数组中,如果存在,则继续递归遍历下一层的数组,直到找到最后一层的键,然后将值赋给该键。
代码语言:txt
复制
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);

输出结果:

代码语言:txt
复制
Array
(
    [key1] => Array
        (
            [key2] => Array
                (
                    [key3] => Hello World
                )
        )
)
  1. 使用引用变量:可以使用引用变量来动态输入多维数组的值。通过将数组的每个层级赋值给一个引用变量,然后根据给定的键动态输入值。
代码语言:txt
复制
$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);

输出结果:

代码语言:txt
复制
Array
(
    [key1] => Array
        (
            [key2] => Array
                (
                    [key3] => Hello World
                )
        )
)

以上两种方法可以动态输入只知道键的多维数组。在实际应用中,可以根据具体需求选择适合的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券