gpt4 book ai didi

php - 更改数组键而不更改顺序

转载 作者:IT王子 更新时间:2023-10-28 23:51:58 24 4
gpt4 key购买 nike

您可以 "change" the key of an array element只需设置新 key 并删除旧 key 即可:

$array[$newKey] = $array[$oldKey];
unset($array[$oldKey]);

但这会将键移动到数组的末尾。

是否有一些优雅的方法可以在不更改顺序的情况下更改 key ?

(PS:这个问题只是出于概念上的兴趣,并不是因为我哪里都需要。)

最佳答案

已测试并有效 :)

function replace_key($array, $old_key, $new_key) {
$keys = array_keys($array);
if (false === $index = array_search($old_key, $keys, true)) {
throw new Exception(sprintf('Key "%s" does not exist', $old_key));
}
$keys[$index] = $new_key;
return array_combine($keys, array_values($array));
}

$array = [ 'a' => '1', 'b' => '2', 'c' => '3' ];
$new_array = replace_key($array, 'b', 'e');

关于php - 更改数组键而不更改顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8883974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com