PHP二维数组中如何添加上一级键值作为新键值?

php二维数组中如何添加上一级键值作为新键值?

PHP二维数组:巧妙添加上一级键值作为新键值

处理PHP多维数组时,常常需要对数组结构进行调整。本文将演示如何为PHP二维数组中的每个子数组添加一个新键值对,其中键名为file_name,键值则为其上一级键的值。

假设我们有一个如下结构的二维数组:

$arr = [
    'hello' => [
        0 => 'config.php',
        1 => 'install.txt',
    ],
    'js01' => [
        0 => 'config.php',
        1 => 'install.txt',
    ],
    'js02' => [
        0 => 'config.php',
    ],
];
登录后复制

我们的目标是将数组修改为:

立即学习PHP免费学习笔记(深入)”;

$arr = [
    'hello' => [
        0 => 'config.php',
        1 => 'install.txt',
        'file_name' => 'hello',
    ],
    'js01' => [
        0 => 'config.php',
        1 => 'install.txt',
        'file_name' => 'js01',
    ],
    'js02' => [
        0 => 'config.php',
        'file_name' => 'js02',
    ],
];
登录后复制

我们可以高效地利用array_walk()函数实现这一目标。array_walk()函数可以遍历数组的每个元素,并对每个元素执行指定的回调函数。

以下代码片段展示了如何使用array_walk()函数添加新的键值对:

array_walk($arr, function (&$value, $key) {
    $value['file_name'] = $key;
});
登录后复制

这段代码中,&$value表示回调函数将直接修改数组元素的值,$key则代表上一级键的值。回调函数简单地将上一级键的值赋值给新键file_name。

执行完这段代码后,$arr数组将被修改为我们期望的结构。 这种方法简洁高效,避免了复杂的循环操作,是处理此类数组操作的最佳实践。

以上就是PHP二维数组中如何添加上一级键值作为新键值?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1230980.html

发表回复

Your email address will not be published. Required fields are marked *