首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ds\Vector::filter

(PECL ds >= 1.0.0)

Ds \ Vector :: filter - 使用可调用函数创建一个新矢量,以确定要包含哪些值。

描述

代码语言:javascript
复制
public Ds\Vector Ds\Vector::filter ([ callable $callback ] )

使用callable创建一个新矢量以确定要包含哪些值。

参数

callback

代码语言:javascript
复制
bool callback ( mixed $value )

可选可调用,如果应该包含该值,则返回TRUE,否则返回FALSE。

如果没有提供回调,则只会包含TRUE(参见转换为布尔值)的值。

返回值

包含回调返回TRUE的所有值的新向量,或者如果未提供回调则将所有值转换为TRUE的值。

例子

示例#1使用回调函数的Ds \ Vector :: filter()示例

代码语言:javascript
复制
<?php
$vector = new \Ds\Vector([1, 2, 3, 4, 5]);

var_dump($vector->filter(function($value) {
    return $value % 2 == 0;
}));
?>

上面的例子会输出类似于:

代码语言:javascript
复制
object(Ds\Vector)#3 (2) {
  [0]=>
  int(2)
  [1]=>
  int(4)
}

示例#2没有回调函数的Ds \ Vector :: filter()示例

代码语言:javascript
复制
<?php
$vector = new \Ds\Vector([0, 1, 'a', true, false]);

var_dump($vector->filter());
?>

上面的例子会输出类似于:

代码语言:javascript
复制
object(Ds\Vector)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}

← Ds\Vector::count

Ds\Vector::find →

扫码关注腾讯云开发者

领取腾讯云代金券