Cómo eliminar correctamente un elemento de un array en PHP y reindexar las claves. Problemas con unset()
¡Hola a todos! Soy nuevo en PHP y me encontré con un problema al eliminar elementos de un array.
Tengo un array con nombres de usuarios:
```php
$users = ['Ana', 'Iván', 'María', 'Pedro'];
```
Necesito eliminar el segundo elemento (Iván). Leí que para esto se usa la función `unset()`, y escribí este código:
```php
unset($users[1]);
print_r($users);
```
¡Pero el resultado me sorprendió mucho! En lugar de un array con tres elementos (claves 0, 1, 2) obtuve:
```
Array
(
[0] => Ana
[2] => María
[3] => Pedro
)
```
Las claves se volvieron no secuenciales: 0, 2, 3. Al intentar iterar con `for` usando `count($users)`, me salto el elemento con clave 2. También probé eliminar un elemento por valor, no por clave — por ejemplo, eliminar todos los usuarios con el nombre "María". ¿Cómo hacerlo correctamente?
Necesito:
1. Simplemente eliminar un elemento para que el array siga siendo secuencial (claves 0,1,2).
2. Eliminar todos los elementos con un valor específico.
3. Entender cuál es la diferencia entre `unset()`