在线文档教程
PHP
数据结构 | Data Structures

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 →