在 PHP 中,你可以通过多种方式来更改数组的键。以下是几种常见的方法:
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
)
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
)
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
)
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
)
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
)
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_combine
和 foreach
循环是最常用的方法。如果你只需要更改部分键,array_replace
是一个不错的选择。