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

Ds\Map::filter

(PECL ds >= 1.0.0)

Ds\Map::filter —— 使用callable创建一个新地图来确定要包含哪些对。

描述

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

使用可调用对象创建新地图来确定要包含哪些对。

参数

callback

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

可选的可调用函数,TRUE如果应该包含该对,则返回它,FALSE否则返回。

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

返回值

含有其中任一的所有对一个新的地图callback返回TRUE,或者转换为所有的值TRUE,如果callback未提供。

例子

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

代码语言:javascript
复制
<?php
$map?=?new?\Ds\Map(["a",?"b",?"c",?"d",?"e"]);

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

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

代码语言:javascript
复制
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()示例

代码语言:javascript
复制
<?php
$map?=?new?\Ds\Map(["a"?=>?0,?"b"?=>?1,?"c"?=>?true,?"d"?=>?false]);

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

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

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

← Ds\Map::diff

Ds\Map::first →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com