fork download
  1. <?php
  2.  
  3. function array_replace_key(&$arr, $old, $new, $overwrite = true): bool {
  4. if (isset($arr[$new]) and !$overwrite) {
  5. return false;
  6. }
  7.  
  8. $arr[$new] = $arr[$old];
  9. unset($arr[$old]);
  10.  
  11. return true;
  12. }
  13.  
  14. // Define o array que será modificado
  15. $arr = [
  16. 'title' => 'Um título qualquer',
  17. 'description' => 'Descrição de alguma coisa qualquer'
  18. ];
  19.  
  20. // Substitui a chave desciption por descrição
  21. array_replace_key($arr, 'description', 'descrição');
  22.  
  23. // Exibe o array
  24. print_r($arr);
  25.  
  26. // Substitui a chave title por descrição, sem sobrescrita
  27. array_replace_key($arr, 'title', 'descrição', false);
  28.  
  29. // Exibe o array
  30. print_r($arr);
Success #stdin #stdout 0s 82560KB
stdin
Standard input is empty
stdout
Array
(
    [title] => Um título qualquer
    [descrição] => Descrição de alguma coisa qualquer
)
Array
(
    [title] => Um título qualquer
    [descrição] => Descrição de alguma coisa qualquer
)