Collection::removeOne()

从集合中移除满足特定条件的第一个元素

首字母:C

函数名:Collection::removeOne()

适用版本:PHP 7.4.0 及以上版本

用法:Collection::removeOne() 方法用于从集合中移除满足特定条件的第一个元素。集合是一个对象,可以用来表示一个有序的、无重复值的元素集合。该方法接受一个回调函数作为参数,该回调函数用于定义移除元素的条件。

语法:Collection::removeOne(callable $callback): bool

参数:

  • $callback:一个可调用的函数,用来定义移除元素的条件。该函数接受集合中的每个元素作为参数,并返回一个布尔值。返回 true 则表示该元素满足条件需要被移除,返回 false 则表示该元素不被移除。

返回值:如果成功移除了一个元素,则返回 true;如果没有找到满足条件的元素或移除失败,则返回 false。

示例:

class User {
 public $id;
 public $name;
 public function __construct($id, $name) {
 $this->id = $id;
 $this->name = $name;
 }
}
$users = new Collection([
 new User(1, 'John'),
 new User(2, 'Jane'),
 new User(3, 'Alice')
]);
// 移除 id 为 2 的用户
$users->removeOne(function($user) {
 return $user->id === 2;
});
var_dump($users);

输出:

object(Collection)#1 (1) {
 ["items"]=>
 array(2) {
 [0]=>
 object(User)#2 (2) {
 ["id"]=>
 int(1)
 ["name"]=>
 string(4) "John"
 }
 [1]=>
 object(User)#3 (2) {
 ["id"]=>
 int(3)
 ["name"]=>
 string(5) "Alice"
 }
 }
}

以上示例中,我们创建了一个包含三个用户对象的集合。然后使用 removeOne() 方法移除了 id 为 2 的用户对象。最后输出移除后的集合,可以看到 id 为 2 的用户已经被成功移除。

同首字母函数