Comment supprimer correctement un élément d'un tableau en PHP et réindexer les clés ? Problèmes avec unset()
Bonjour à tous ! Je suis débutant en PHP et j'ai rencontré un problème lors de la suppression d'éléments d'un tableau.
J'ai un tableau avec des noms d'utilisateurs :
```php
$users = ['Anna', 'Ivan', 'Maria', 'Pierre'];
```
Je dois supprimer le deuxième élément (Ivan). J'ai lu qu'on utilise la fonction `unset()` pour cela, et j'ai écrit ce code :
```php
unset($users[1]);
print_r($users);
```
Mais le résultat m'a beaucoup surpris ! Au lieu d'un tableau avec trois éléments (clés 0, 1, 2), j'ai obtenu :
```
Array
(
[0] => Anna
[2] => Maria
[3] => Pierre
)
```
Les clés sont devenues non séquentielles : 0, 2, 3. Lorsque j'essaie d'itérer avec `for` sur `count($users)`, je saute l'élément avec la clé 2. J'ai aussi essayé de supprimer un élément par valeur, pas par clé — par exemple, supprimer tous les utilisateurs nommés "Maria". Comment faire cela correctement ?
J'ai besoin de :
1. Supprimer simplement un élément pour que le tableau reste séquentiel (clés 0,1,2).
2. Supprimer tous les éléments avec une valeur spécifique.
3. Comprendre la différence entre `unset()`