ArrayLookup
Introduction
ArrayLookup is a fast array lookup library.
Features
- Search at least times:
once(),twice(),times() - Search exact times:
once(),twice(),times()
Installation
Require this library uses composer.
composer require samsonasik/array-lookupUsage
A. AtLeast
AtLeast::once()
It verify that data has filtered found item at least once.
$data = [1, 2, 3];
$callable = static fn($datum): bool => $datum === 1;
var_dump(\ArrayLookup\AtLeast::once($data, $callable)) // trueAtLeast::twice()
It verify that data has filtered found item at least twice.
$data = [1, "1", 3];
$callable = static fn($datum): bool => $datum == 1;
var_dump(\ArrayLookup\AtLeast::twice($data, $callable)) // trueAtLeast::times()
It verify that data has filtered found item at least times passed in 3rd arg.
$data = [false, null, 0];
$callable = static fn($datum): bool => ! $datum;
$times = 3;
var_dump(\ArrayLookup\AtLeast::times($data, $callable, $times)) // trueB. Only
Only::once()
It verify that data has filtered found item exactly found only once.
$data = [1, 2, 3];
$callable = static fn($datum): bool => $datum === 1;
var_dump(\ArrayLookup\Only::once($data, $callable)) // true
$data = [1, "1", 3]
$callable = static fn($datum): bool => $datum == 1;
var_dump(\ArrayLookup\Only::once($data, $callable)) // falseOnly::twice()
It verify that data has filtered found item exactly found only once.
$data = [1, "1", 3];
$callable = static fn($datum): bool => $datum == 1;
var_dump(\ArrayLookup\Only::twice($data, $callable)) // true
$data = [true, 1, new stdClass()];
$callable = static fn($datum): bool => (bool) $datum;
var_dump(\ArrayLookup\Only::twice($data, $callable)) // falseOnly::times()
It verify that data has filtered found item exactly found only same with times passed in 3rd arg.
$data = [false, null, 1];
$callable = static fn($datum): bool => ! $datum;
$times = 2;
var_dump(\ArrayLookup\Only::times($data, $callable, $times)) // true
$data = [false, null, 0];
$callable = static fn($datum): bool => ! $datum;
$times = 2;
var_dump(\ArrayLookup\Only::times($data, $callable, $times)) // false