
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中文网其它相关文章!