可能重复:
In PHP, how do you change the key of an array element?
这个数组
Array
(
[0] => Array
(
[id] => 1
[due_date] => 2011-09-23
[due_amount] => 10600.00
)
[1] => Array
(
[id] => 2
[due_date] => 2011-10-23
[due_amount] => 10600.00
)
[2] => Array
(
[id] => 3
[due_date] => 2011-11-23
[due_amount] => 10600.00
)
)
如何在此数组中将 id 更改为 u_id ?
此致
答案 0 :(得分:6)
array_walk_recursive($array, 'changeIDkey');
function changeIDkey($item, &$key)
{
if ($key == 'id') $key = 'u_id';
}
PHP手册:array_walk_recursive
修改强>
这不适用@salathe在下面的评论中给出的原因。致力于替代方案。
实际答案
function changeIDkey(&$value,$key)
{
if ($value === "id") $value = "u_id";
}
$new = array();
foreach ($array as $key => $value)
{
$keys = array_keys($value);
array_walk($keys,"changeIDkey");
$new[] = array_combine($keys,array_values($value));
}
var_dump($new); //verify
$array
是您的输入数组。请注意,这仅适用于您当前的数组结构(二维,仅在第二维上更改键)。
循环遍历内部数组,将键中的“id”更改为“u_id”,然后将旧键重新组合为旧值。
答案 1 :(得分:4)
foreach( $array as &$element ) {
$element['u_id'] = $element['id'];
unset( $element['id'] );
}