Avatar ·

Como copiar completamente um array em PHP para outra variável, para que as alterações não afetem o original?

Olá, colegas! Sou novo em PHP e me deparei com uma situação confusa. Tenho um array com configurações de usuário e quero criar um backup dele para restaurar depois, se algo der errado. Aqui está um exemplo simplificado: ```php $original = ['name' => 'Иван', 'age' => 30, 'hobbies' => ['чтение', 'бег']]; $backup = $original; // Pensei que isso fosse uma cópia ``` Eu mudo a cópia, mas as alterações afetam o original: ```php $backup['name'] = 'Петр'; echo $original['name']; // Exibe 'Иван' — ok, isso funciona ``` Mas quando mudo o array aninhado: ```php $backup['hobbies'][] = 'программирование'; print_r($original['hobbies']); // Exibe ['чтение', 'бег', 'программирование'] ``` O original também mudou! Li que em PHP os arrays são copiados por padrão na atribuição (copy-on-write), mas isso não funciona para arrays aninhados. Existe uma função embutida que faça uma deep copy do array, para que todos os níveis de aninhamento sejam independentes? Ou é necessário