可能重复:
在PHP中,如何更改数组元素的键?
这个数组
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
)
)
Run Code Online (Sandbox Code Playgroud)
如何在这个数组中将id更改为u_id?
问候
array_walk_recursive($array, 'changeIDkey');
function changeIDkey($item, &$key)
{
if ($key == 'id') $key = 'u_id';
}
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
$array你的输入数组在哪里.请注意,这仅适用于您当前的数组结构(二维,仅在第二维上更改键).
循环遍历内部数组,将键中的"id"更改为"u_id",然后将新键与旧值重新组合.