按值(而非按键)从PHP数组中删除元素
大家好!我刚开始学习PHP,遇到了一个问题。我有一个包含数字的数组:
```php
$fruits = ['apple', 'banana', 'cherry', 'date', 'banana'];
```
我需要从中删除值为'banana'的元素。但问题是我不知道它位于哪个索引。我找到的所有示例都显示通过`unset($array[2])`按键删除,但我的键是未知的。
我尝试写了一个循环,但它工作不正确——只删除了第一个元素,第二个'banana'仍然存在。或者干脆破坏了数组的索引。我需要删除所有值为'banana'的元素。
以下是我尝试过的:
```php
foreach ($fruits as $key => $value) {
if ($value === 'banana') {
unset($fruits[$key]);
}
}
```
这似乎有效,但我听说有一个内置函数可以做到这一点。请告诉我如何在PHP中按值正确删除元素?以及最好使用循环还是专用函数?提前谢谢!