Bạn có thể "change" the key of an array element chỉ đơn giản bằng cách thiết lập phím mới và loại bỏ cái cũ:Thay đổi quan trọng mảng mà không thay đổi trật tự
$array[$newKey] = $array[$oldKey];
unset($array[$oldKey]);
Nhưng điều này sẽ di chuyển chìa khóa dẫn đến cuối mảng.
Có cách nào thanh lịch để thay đổi khóa mà không thay đổi thứ tự không?
(PS: Câu hỏi này chỉ vì lợi ích khái niệm, không phải vì tôi cần nó ở bất cứ đâu.)
Tôi tưởng tượng một số cấu trúc xấu xí với array_splice() và array_slice() sẽ thực hiện thủ thuật –
@MarcB Điều đó sẽ không hoạt động với các phím chuỗi mặc dù. – NikiC
Tôi không phải là một lập trình PHP, nhưng những gì trên thế giới là ngữ nghĩa của '$ arr [$ oldKey]' nếu điều này hoạt động như một đối số cho một hàm loại bỏ '$ oldKey' khỏi' $ arr'? Tôi nghĩ PHP có thể thú vị hơn tôi từng nghĩ, sẽ phải xem xét điều này… –