La función Ds\Vector::filter() se utiliza para filtrar los únicos elementos que cumplen la condición definida en la función de devolución de llamada. Después de hacer un filtro sobre el vector, eliminará los elementos que no cumplan la condición mencionada en la función.
Sintaxis:
Ds\Vector public Ds\Vector::filter( $callback )
Parámetros: esta función acepta un solo parámetro $callback que devuelve verdadero si se va a incluir el elemento en el vector; de lo contrario, devuelve falso.
Valor de retorno: esta función devuelve el vector con todos los elementos que se filtran de acuerdo con la función invocable.
Los siguientes programas ilustran la función Ds\Vector::filter() en PHP:
Programa 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; })); ?>
Producción:
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) }
Programa 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; })); ?>
Producción:
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) }
Referencia: http://php.net/manual/en/ds-vector.filter.php