微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 更改多维数组的键

我有一个多维数组,如下所示.如何更改以“id of”开头的键?

Array
(
[0] => Array
    (
        [id of ten] => 1871
        [name] => bob
    )

[1] => Array
    (
        [id of nine hundred thousand] => 12581
        [name] => barney        
    )

)

通常,你会做类似的事情:

foreach ( $array as $k=>$v )
{
  $array[$k] ['id'] = $array[$k] ['old'];
  unset($array[$k]['old']);
}

在我的情况下,密钥动态变化(我的多维数组中有数千个密钥,它们是随机的,但它们总是以“id …”开头)

谢谢!

解决方法:

如果’id of’键始终是数组的第一个元素,则可以使用以下内容

foreach ($input as &$value)
{
  $value['key'] = reset($value);
  $key = key($value);
  unset($value[$key]);
}

否则,以下内容我有用:

foreach ($input as &$value)
{
  foreach ($value as $key=>$el) {
    if (substr($key, 0, 5) == 'id of') {
      $value['key'] = $el;
      unset($value[$key]);
    }
  }
}

在这两种情况下,您都可以将$value [‘key’]更改为您想要的新密钥.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐