📅  最后修改于: 2023-12-03 15:33:32.459000             🧑  作者: Mango
filter()
函数是Ds\Sequence类中的一个方法,用于过滤序列中的元素,返回一个新序列。该方法可用于数组,栈和队列等序列类型。
public function filter(callable $callback): Sequence
$callback
:接受一个参数,用于判断该元素是否应该被保留在新序列中,返回值必须为bool类型。filter()
函数返回一个新的序列,其中包含原序列中符合条件($callback函数返回true)的元素。
use Ds\Vector;
// 创建一个包含5个元素的向量
$vector = new Vector([1, 2, 3, 4, 5]);
// 过滤掉所有奇数
$newVector = $vector->filter(function ($item) {
return $item % 2 == 0;
});
// 输出新向量的元素
print_r($newVector->toArray()); // 输出 [2, 4]
filter()
函数不会改变原序列,它会返回一个新的序列。$callback
函数可以接受第二个参数,表示当前元素在序列中的键。