php - 重命名该关联数组数组的键的快速方法

标签 php arrays associative-array

我有这个 php 数组;

array(
    (int) 0 => array(
        'KeyName' => array(
            'id' => '1',
            'number' => '11A',
        )
    ),
    (int) 1 => array(
        'KeyName' => array(
            'id' => '2',
            'number' => '22A',
        )
    ),
    (int) 2 => array(
        'KeyName' => array(
            'id' => '16',
            'number' => '001A',
        )
    )
)

我想将 'KeyName' 更改为 'NewKeyName',以便新数组变为;

array(
    (int) 0 => array(
        'NewKeyName' => array(
            'id' => '1',
            'number' => '11A',
        )
    ),
    (int) 1 => array(
        'NewKeyName' => array(
            'id' => '2',
            'number' => '22A',
        )
    ),
    (int) 2 => array(
        'NewKeyName' => array(
            'id' => '16',
            'number' => '001A',
        )
    )
)

什么是快速执行此操作的方法?

下面是我尝试过的代码;

foreach ($array as $key)
{
    $array[$key]['KeyName']=$array[$key]['NewKeyName'];
}

但是我遇到了一些非法偏移错误。有没有更好的方法来解决这个问题?

最佳答案

在您的代码中,您将获取值而不是 $key 中的键。您必须尝试使用​​ $array as $key => $val 而不是 $array as $key。此外,一旦进入循环,只需将值复制到新索引并取消设置现有索引。

喜欢

foreach ($array as $key => $val)
{
    $array[$key]['NewKeyName'] = $array[$key]['KeyName'];
    unset($array[$key]['KeyName']);
}

关于php - 重命名该关联数组数组的键的快速方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26200059/

相关文章:

PHP 数组到 HTML 表格

javascript - 从另一个站点远程调用 javascript 函数

php - 我想将选定的选项从一个文本框传递到第二个文本框

php - 如何编写简单的 RESTful PHP API

java - 以相反顺序打印数组,printf 对齐问题

php - 如何从数组中删除不需要的值

arrays - 为什么 Bash 关联数组不保持索引顺序?

php - 我使用 str_replace 在没有逗号分隔符和小数点的情况下将值获取到数据库。现在,如何以旧格式从数据库返回?

Java - 计算最常见的元素

c# - 创建子数组而不进行复制和/或分配