Eliminación de un elemento de un array PHP por valor (no por clave)
¡Hola a todos! Acabo de empezar a aprender PHP y me encontré con un problema. Tengo un array con números:
```php
$fruits = ['apple', 'banana', 'cherry', 'date', 'banana'];
```
Necesito eliminar de él el elemento con el valor 'banana'. Pero el problema es que no sé en qué índice se encuentra. Todos los ejemplos que encuentro muestran la eliminación por clave usando `unset($array[2])`, pero yo no conozco la clave.
Intenté escribir un loop, pero no funciona correctamente: solo elimina el primer elemento, y el segundo 'banana' se queda. O incluso rompe los índices del array. Necesito que se eliminen TODOS los elementos con el valor 'banana'.
Esto es lo que intenté:
```php
foreach ($fruits as $key => $value) {
if ($value === 'banana') {
unset($fruits[$key]);
}
}
```
Esto parece funcionar, pero he oído que hay una función incorporada para esto. Díganme, ¿cómo eliminar correctamente un elemento por valor en PHP? ¿Y qué es mejor usar: un loop o una función especial? ¡Gracias de antemano!