Como fazer uma cópia completa de um array em PHP: operador de atribuição vs clone
Olá, colegas! Sou novo em PHP e me deparei com uma situação confusa. Tenho um array com dados de usuários:
```php
$users = [
['name' => 'Ivan', 'age' => 25],
['name' => 'Maria', 'age' => 30]
];
```
Preciso criar uma cópia completa dele, para modificar os dados na cópia sem afetar o original. Tentei uma simples atribuição:
```php
$usersCopy = $users;
$usersCopy[0]['name'] = 'Pedro';
print_r($users[0]['name']); // Exibiu "Pedro", mas eu esperava "Ivan"!
```
Por que o original foi alterado? Eu pensei que em PHP os arrays são copiados na atribuição. Tentei usar `clone`:
```php
$usersCopy = clone $users;
// Mas clone funciona apenas com objetos, gera erro para arrays
```
E também li sobre `array_copy()`, mas essa função não existe em PHP. Digam-me, como criar corretamente uma cópia independente de um array multidimensional em PHP? Preciso que as alterações na cópia não afetem o original de forma alguma. Obrigado!
<<>>
Entendendo a cópia de arrays em PHP
Você
No answers yet.
Faça login para deixar uma resposta