Documentation

PipeSelector
in package
implements PipeSelectorInterface

FinalYes

Represents a selector that applies a series of selectors sequentially to a source array view.

$originalArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$selector = new PipeSelector([
    new SliceSelector('::2'),
    new MaskSelector([true, false, true, true, true]),
    new IndexListSelector([0, 1, 2]),
    new SliceSelector('1:'),
]);

$view = ArrayView::toView($originalArray);
$subview = $view->subview($selector);
print_r($subview[':']); // [5, 7]

$subview[':'] = [55, 77];
print_r($originalArray); // [1, 2, 3, 4, 55, 6, 77, 8, 9, 10]
Example with nested pipes
$originalArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$selector = new PipeSelector([
    new SliceSelector('::2'),
    new PipeSelector([
        new MaskSelector([true, false, true, true, true]),
        new IndexListSelector([0, 1, 2]),
    ])
    new SliceSelector('1:'),
]);

$view = ArrayView::toView($originalArray);
$subview = $view->subview($selector);
print_r($subview[':']); // [5, 7]

$subview[':'] = [55, 77];
print_r($originalArray); // [1, 2, 3, 4, 55, 6, 77, 8, 9, 10]

Table of Contents

Interfaces

PipeSelectorInterface
Interface for selector that applies a series of selectors sequentially to a source array view.

Methods

__construct()  : mixed
Creates a new PipeSelector instance with the provided selectors array.
compatibleWith()  : bool
Checks if the series of selectors are compatible with the given array view.
getValue()  : array<string|int, ArraySelectorInterface>
Returns the array of selectors assigned to the PipeSelector.
select()  : ArrayViewInterface<string|int, T>
Applies the series of selectors to the given source array view.

Methods

__construct()

Creates a new PipeSelector instance with the provided selectors array.

public __construct(array<string|int, ArraySelectorInterface> $selectors) : mixed
Parameters
$selectors : array<string|int, ArraySelectorInterface>

An array of selectors to be assigned to the PipeSelector.

compatibleWith()

Checks if the series of selectors are compatible with the given array view.

public compatibleWith(ArrayViewInterface<string|int, T> $view) : bool
Parameters
$view : ArrayViewInterface<string|int, T>

The array view to check compatibility with.

Tags
template

T The type of elements in the source array view.

Return values
bool —

True if all selectors are compatible with the array view, false otherwise.

select()

Applies the series of selectors to the given source array view.

public select(ArrayViewInterface<string|int, T> $source[, bool|null $readonly = null ]) : ArrayViewInterface<string|int, T>
Parameters
$source : ArrayViewInterface<string|int, T>

The source array view to select from.

$readonly : bool|null = null

Optional parameter to specify if the view should be read-only.

Tags
template

T The type of elements in the source array view.

Return values
ArrayViewInterface<string|int, T> —

The resulting array view after applying all selectors.


        
On this page

Search results