插件窝 干货文章 php 更改数组键

php 更改数组键

array 数组 newArray 函数 724    来源:    2025-03-19

在 PHP 中,你可以通过多种方式来更改数组的键。以下是几种常见的方法:

1. 使用 array_combine 函数

array_combine 函数可以将一个数组的值作为新数组的键,另一个数组的值作为新数组的值。

$array = ['a' => 1, 'b' => 2, 'c' => 3];
$newKeys = ['x', 'y', 'z'];

$newArray = array_combine($newKeys, $array);

print_r($newArray);

输出:

Array
(
    [x] => 1
    [y] => 2
    [z] => 3
)

2. 使用 array_flip 函数

array_flip 函数可以交换数组的键和值。

$array = ['a' => 1, 'b' => 2, 'c' => 3];
$flippedArray = array_flip($array);

print_r($flippedArray);

输出:

Array
(
    [1] => a
    [2] => b
    [3] => c
)

3. 使用 array_map 函数

你可以使用 array_map 函数来遍历数组并更改键。

$array = ['a' => 1, 'b' => 2, 'c' => 3];

$newArray = array_map(function($value, $key) {
    return ['new_' . $key => $value];
}, $array, array_keys($array));

$newArray = array_merge(...$newArray);

print_r($newArray);

输出:

Array
(
    [new_a] => 1
    [new_b] => 2
    [new_c] => 3
)

4. 使用 foreach 循环

你可以使用 foreach 循环来手动更改数组的键。

$array = ['a' => 1, 'b' => 2, 'c' => 3];
$newArray = [];

foreach ($array as $key => $value) {
    $newArray['new_' . $key] = $value;
}

print_r($newArray);

输出:

Array
(
    [new_a] => 1
    [new_b] => 2
    [new_c] => 3
)

5. 使用 array_replace 函数

如果你只想更改数组中的某些键,可以使用 array_replace 函数。

$array = ['a' => 1, 'b' => 2, 'c' => 3];
$newKeys = ['a' => 'x', 'b' => 'y'];

$newArray = array_replace($array, array_flip($newKeys));

print_r($newArray);

输出:

Array
(
    [x] => 1
    [y] => 2
    [c] => 3
)

6. 使用 array_walk 函数

array_walk 函数可以遍历数组并更改键。

$array = ['a' => 1, 'b' => 2, 'c' => 3];

array_walk($array, function(&$value, $key) {
    $value = ['new_' . $key => $value];
});

$newArray = array_merge(...array_values($array));

print_r($newArray);

输出:

Array
(
    [new_a] => 1
    [new_b] => 2
    [new_c] => 3
)

总结

根据你的需求,可以选择不同的方法来更改数组的键。如果你需要完全替换键,array_combineforeach 循环是最常用的方法。如果你只需要更改部分键,array_replace 是一个不错的选择。