Wie entferne ich ein Element aus einem Array in PHP richtig und indiziere die Schlüssel neu? Probleme mit unset()
Hallo zusammen! Ich bin ein PHP-Neuling und habe ein Problem beim Entfernen von Elementen aus einem Array.
Ich habe ein Array mit Benutzernamen:
```php
$users = ['Anna', 'Ivan', 'Maria', 'Petr'];
```
Ich muss das zweite Element (Ivan) entfernen. Ich habe gelesen, dass dafür die Funktion `unset()` verwendet wird, und habe diesen Code geschrieben:
```php
unset($users[1]);
print_r($users);
```
Aber das Ergebnis hat mich sehr überrascht! Statt eines Arrays mit drei Elementen (Schlüssel 0, 1, 2) habe ich erhalten:
```
Array
(
[0] => Anna
[2] => Maria
[3] => Petr
)
```
Die Schlüssel wurden nicht sequenziell: 0, 2, 3. Beim Versuch, mit `for` über `count($users)` zu iterieren, überspringe ich das Element mit Schlüssel 2. Außerdem habe ich versucht, ein Element nach Wert statt nach Schlüssel zu entfernen – zum Beispiel alle Benutzer mit dem Namen "Maria" zu löschen. Wie mache ich das richtig?
Ich brauche:
1. Einfach ein Element entfernen, sodass das Array sequenziell bleibt (Schlüssel 0,1,2).
2. Alle Elemente mit einem bestimmten Wert entfernen.
3. Verstehen, was der Unterschied zwischen `unset()`