Ds\Map::filter
Ds\Map::filter
(PECL ds >= 1.0.0)
Ds\Map::filter —— 使用callable创建一个新地图来确定要包含哪些对。
描述
public Ds\Map Ds\Map::filter ([ callable $callback ] )
使用可调用对象创建新地图来确定要包含哪些对。
参数
callback
bool callback ( mixed $key , mixed $value )
可选的可调用函数,TRUE
如果应该包含该对,则返回它,FALSE
否则返回。
如果没有提供回调,则只会包含TRUE
(参见转换为布尔值)的值。
返回值
含有其中任一的所有对一个新的地图callback
返回TRUE
,或者转换为所有的值TRUE
,如果callback
未提供。
例子
示例#1使用回调函数的Ds\Map::filter()示例
<?php
$map = new \Ds\Map(["a", "b", "c", "d", "e"]
var_dump($map->filter(function($key, $value) {
return $key % 2 == 0;
})
?>
上面的例子会输出类似于:
object(Ds\Map)#3 (3) {
[0]=>
object(Ds\Pair)#2 (2) {
["key"]=>
int(0)
["value"]=>
string(1) "a"
}
[1]=>
object(Ds\Pair)#4 (2) {
["key"]=>
int(2)
["value"]=>
string(1) "c"
}
[2]=>
object(Ds\Pair)#5 (2) {
["key"]=>
int(4)
["value"]=>
string(1) "e"
}
}
示例#2没有回调函数的Ds\Map::filter()示例
<?php
$map = new \Ds\Map(["a" => 0, "b" => 1, "c" => true, "d" => false]
var_dump($map->filter()
?>
上面的例子会输出类似于:
object(Ds\Map)#2 (3) {
[0]=>
int(1)
[1]=>
string(1) "a"
[2]=>
bool(true)
}
← Ds\Map::diff
Ds\Map::first →