tirrex / array-search
PHP библиотека для поиска в массивах по ключу-значению
Requires
- php: >=7.4
This package is not auto-updated.
Last update: 2025-12-29 11:15:16 UTC
README
Библиотека для поиска в многомерных массивах по ключу-значению.
Установка
bash composer require vendor/array-search
Или вручную скопируйте файлы из src/ в ваш проект.
Простой поиск
require_once 'src/ArraySearch.php';
$users = [
['id' => 1, 'name' => 'Анна', 'age' => 25],
['id' => 2, 'name' => 'Иван', 'age' => 30]
];
// Поиск по одному ключу $user = searchInArray($users, 'name', 'Иван');
// Поиск по нескольким критериям $users = searchByCriteria($users, ['age' => 25]);
Расширенный поиск
require_once 'src/AdvancedArraySearch.php';
$products = [
['id' => 1, 'name' => 'Телефон', 'price' => 500],
['id' => 2, 'name' => 'Ноутбук', 'price' => 1000]
];
// С операторами сравнения $expensive = advancedArraySearch($products, [
'price' => ['>' => 600]
]);
Класс ArraySearcher
require_once 'src/ArraySearcher.php';
$searcher = new ArraySearcher($data);
$results = $searcher
->where(['category' => 'Электроника'])
->whereBetween('price', 100, 1000)
->orderBy('price', 'desc')
->limit(10)
->get();
Функции
searchInArray(array $array, string $key, $value): ?array Поиск первого элемента по ключу и значению.
searchByCriteria(array $array, array $criteria): array Поиск по массиву критериев.
advancedArraySearch(array $array, array $conditions): array Расширенный поиск с операторами сравнения.
Класс ArraySearcher
Методы:
where(array $conditions) - фильтрация по точному совпадению
whereBetween(string $key, $min, $max) - фильтрация по диапазону
whereIn(string $key, array $values) - фильтрация по списку значений
orderBy(string $key, string $direction) - сортировка
limit(int $limit) - ограничение количества результатов
get(): array - получение результатов
first(): ?array - получение первого элемента
count(): int - подсчет количества
Примеры
См. папку examples/ для подробных примеров использования.
Лицензия
MIT