## where
where函数会遍历当前数据源,并为每一项元素都应用传入的过滤函数,最后返回满足条件的元素的集合。
例子:
~~~
//创建数据源
$dataSource = Traversable::from(['foo', 'bar', 'baz', 'tear', 'cow', 'tripod', 'whisky', 'sand', 'which']);
//根据where函数传入的Lambda表达式,来筛选数据源
$result=$dataSource->where(function($e){
return strlen($e)>=4; //字符长度大于等于4的元素
});
foreach ($result as $s){
dump($s);
}
~~~
打印的结果:
~~~
"tear"
"tripod"
"whisky"
"sand"
"which"
~~~
例子:
~~~
$dataSource = Traversable::from([1,4,8,5,10,43,53,12,0]);
$result=$dataSource->where(function($e){
return $e>=10;
});
foreach ($result as $s){
dump($s);
}
~~~
打印结果:
~~~
10
43
53
12
~~~