Comment copier complètement un tableau dans une autre variable en PHP pour que les modifications n'affectent pas l'original ?
Bonjour, collègues ! Je suis débutant en PHP et j'ai rencontré une situation déroutante. J'ai un tableau avec les paramètres d'un utilisateur, et je veux créer une sauvegarde pour pouvoir le restaurer si quelque chose tourne mal.
Voici un exemple simplifié :
```php
$original = ['name' => 'Иван', 'age' => 30, 'hobbies' => ['чтение', 'бег']];
$backup = $original; // Je pensais que c'était une copie
```
Je modifie la copie, mais les changements affectent l'original :
```php
$backup['name'] = 'Петр';
echo $original['name']; // Affiche 'Иван' — ok, ça fonctionne
```
Mais quand je modifie le tableau imbriqué :
```php
$backup['hobbies'][] = 'программирование';
print_r($original['hobbies']); // Affiche ['чтение', 'бег', 'программирование']
```
L'original a aussi changé ! J'ai lu qu'en PHP, les tableaux sont copiés par défaut lors de l'affectation (copy-on-write), mais cela ne fonctionne pas pour les tableaux imbriqués. Existe-t-il une fonction intégrée qui fait une deep copy du tableau, pour que tous les niveaux d'imbrication soient indépendants ? Ou faut-il