Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Arrays Laravel Package

yiisoft/arrays

yiisoft/arrays is a small PHP helper library for working with arrays. It provides safe, convenient methods to get and set values (including nested paths), filter and merge data, and simplify common array operations in Yii and any PHP project.

View on GitHub
Deep Wiki
Context7

Yii Array Helper

Frequently asked questions about Arrays
How does Yii Arrays compare to Laravel’s built-in Arr helper for nested array operations?
Yii Arrays extends Laravel’s Arr by offering additional methods like `indexBy()`, `multisort()`, and `mapWithKeys()`, which handle complex transformations not natively supported. For example, while Laravel’s `Arr::dot()` flattens arrays, Yii’s `getValue()` and `setValue()` provide deeper nested access with Yii’s syntax. Use Yii Arrays when you need advanced filtering or multi-dimensional sorting beyond Laravel’s Collection methods.
Can I use yiisoft/arrays in Laravel without conflicts with existing Yii 2.x installations?
Yes, but namespace collisions may occur if both Yii 2.x and yiisoft/arrays are loaded. To mitigate this, wrap Yii’s ArrayHelper methods in a Laravel facade (e.g., `ArrayUtils`) or use an adapter pattern. Avoid mixing Yii 2.x and this package in the same project unless you’re certain no overlapping classes are autoloaded.
What Laravel versions and PHP versions does yiisoft/arrays support?
The package supports PHP 8.1+ and is compatible with Laravel 10.x/11.x (LTS versions). It has no hard dependencies on Laravel or Yii, making it a lightweight addition. For Laravel 9.x or PHP 8.0, check the package’s Composer constraints or fork it for backward compatibility if needed.
Are there performance concerns when using Yii Arrays for large datasets (e.g., 100K+ items)?
Methods like `multisort()` or recursive operations may introduce performance overhead for very large arrays. Benchmark critical paths in your CI pipeline, especially if processing datasets exceeding 10K items. For massive datasets, consider Laravel’s Collection methods or native PHP functions (e.g., `array_multisort()`) for better optimization.
How do I integrate yiisoft/arrays into Laravel’s service container for dependency injection?
Bind the ArrayHelper to Laravel’s container in `AppServiceProvider::register()` using `$this->app->singleton()`. Then create a facade (e.g., `ArrayUtils`) to access methods like `ArrayHelper::merge()` via `ArrayUtils::merge()`. This approach keeps your codebase clean and avoids direct Yii namespace usage in Laravel views or controllers.
Does yiisoft/arrays handle circular references in arrays, like Laravel’s Collection does?
No, yiisoft/arrays does not natively handle circular references. If your application deals with recursive or self-referencing arrays (e.g., JSON API responses with nested objects), use Laravel’s Collection methods or implement a custom guard in your service layer. Test edge cases with `array_key_exists()` or `is_array()` loops if circular data is a risk.
What are the best alternatives to yiisoft/arrays for array manipulation in Laravel?
For most use cases, Laravel’s native `Arr` helper and `Collection` methods suffice. If you need object-array conversion, consider `spatie/array-to-object`. For configuration arrays, `vlucas/phpdotenv` is better suited. For broader array utilities, `league/arraypackage` offers more features but may be overkill for simple transformations. Evaluate your needs before adding a third-party package.
How do I test yiisoft/arrays in a Laravel project before production deployment?
Write unit tests targeting critical array operations (e.g., nested `getValue()` calls, `filter()` edge cases) using PHPUnit. Mock dependencies if testing service layer integrations. Include performance tests for large datasets in your CI pipeline. Validate immutability where applicable by asserting original arrays remain unchanged after transformations.
Can I use yiisoft/arrays for Eloquent model transformations or API responses?
Yes, Yii Arrays is ideal for Eloquent transformations, especially for complex nested data. Use methods like `ArrayHelper::map()` to reshape model collections into API-friendly formats or `indexBy()` to create lookup arrays. Pair it with Laravel’s `Response::json()` for optimized API payloads. Avoid overusing it for simple operations where Collections or `Arr` would suffice.
Will yiisoft/arrays work with Laravel’s first-party packages like Scout or Cashier?
There are no known conflicts, as yiisoft/arrays is a utility package with no dependencies. However, if Scout or Cashier rely on array operations (e.g., indexing), test your integration thoroughly. For example, if using `ArrayHelper::indexBy()` with Scout’s searchable models, ensure the resulting array structure matches expected formats in your application logic.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor
spatie/laravel-javascript-views