Można "change" the key of an array element poprzez ustawienie nowego klucza i usuwanie starych zmienia:Zmień klucz tablicy bez zlecenia
$array[$newKey] = $array[$oldKey];
unset($array[$oldKey]);
Ale to będzie przenieść klucz do końca tablicy.
Czy istnieje jakiś elegancki sposób na zmianę klucza bez zmiany zamówienia?
(PS. To pytanie jest tylko z koncepcyjnego zainteresowania, bo nie muszę go w dowolnym miejscu)
Wyobrażam sobie, że niektóre brzydkie konstrukcje z array_splice() i array_slice() mogłyby zrobić lewę –
@MarcB To nie działałoby jednak z kluczami łańcuchowymi. – NikiC
Nie jestem programistą PHP, ale co na świecie jest semantyką '$ arr [$ oldKey]' jeśli działa to jako argument funkcji, która usuwa '$ oldKey' z' $ arr'? Myślę, że PHP może być ciekawsze, niż wcześniej sądziłem, będzie musiał przyjrzeć się temu ... –