我有一个多维数组,如下所示.如何更改以“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’]更改为您想要的新密钥.