Ds \ Vector :: filter()函数用于过滤出仅满足回调函数中定义的条件的元素。对向量进行过滤后, 它将消除不满足函数中提到的条件的元素。
语法如下:
Ds\Vector public Ds\Vector::filter( $callback )
参数:该函数接受单个参数$ callback如果要包含向量中的元素, 则返回true, 否则返回false。
返回值:该函数返回带有根据可调用函数过滤的所有元素的向量。
下面的程序说明了Ds \ Vector :: filter()PHP中的功能:
程序1:
<?php
// Create new vector element
$vector = new \Ds\Vector([1, 2, 3, 4, 5]);
echo "Original Vector elements\n" ;
// Display the vector element
var_dump( $vector );
echo ( "\nElements greater than or equal to 4\n" );
// Filter the vector element
var_dump( $vector ->filter( function ( $value ) {
return $value >= 4;
}));
?>
输出如下:
Original Vector elements
object(Ds\Vector)#1 (5) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
}
Elements greater than or equal to 4
object(Ds\Vector)#3 (2) {
[0]=>
int(4)
[1]=>
int(5)
}
程式2:
<?php
// Create new vector element
$vector = new \Ds\Vector([1, 2, 3, 4, 5]);
echo "Original Vector elements\n" ;
// Display the vector element
var_dump( $vector );
echo ( "\nOdd elements\n" );
// Use filter() function to filter
// the vector element
var_dump( $vector ->filter( function ( $value ) {
return $value % 2 == 1;
}));
?>
输出如下:
Original Vector elements
object(Ds\Vector)#1 (5) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
}
Odd elements
object(Ds\Vector)#3 (3) {
[0]=>
int(1)
[1]=>
int(3)
[2]=>
int(5)
}
参考: http://php.net/manual/en/ds-vector.filter.php