Remoção de elemento de array PHP por valor (não por chave)
Olá a todos! Comecei a estudar PHP e me deparei com um problema. Tenho um array com números:
```php
$fruits = ['apple', 'banana', 'cherry', 'date', 'banana'];
```
Preciso remover dele o elemento com valor 'banana'. Mas o problema é que não sei em qual índice ele está. Todos os exemplos que encontro mostram remoção por chave usando `unset($array[2])`, mas minha chave é desconhecida.
Tentei escrever um loop, mas ele não funciona corretamente — remove apenas o primeiro elemento, e o segundo 'banana' permanece. Ou então quebra os índices do array. Preciso que TODOS os elementos com valor 'banana' sejam removidos.
Aqui está o que tentei:
```php
foreach ($fruits as $key => $value) {
if ($value === 'banana') {
unset($fruits[$key]);
}
}
```
Isso parece funcionar, mas ouvi dizer que existe uma função embutida para isso. Digam-me, como remover corretamente um elemento por valor em PHP? E o que é melhor usar — loop ou uma função especial? Desde já, obrigado!