https://github.com/krakphp/array
Missing PHP Array Utilities
https://github.com/krakphp/array
Last synced: 11 months ago
JSON representation
Missing PHP Array Utilities
- Host: GitHub
- URL: https://github.com/krakphp/array
- Owner: krakphp
- License: mit
- Created: 2017-01-07T03:26:52.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-12-19T03:47:37.000Z (over 8 years ago)
- Last Synced: 2025-03-23T23:45:14.374Z (about 1 year ago)
- Language: PHP
- Size: 10.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Array
The array library is just a simple collection of missing php array functions.
## Installation
Install with composer at `krak/array`
## Usage
```php
[
'b' => 1,
],
];
$res = Arr\get($data, 'a.b');
assert($res == 1);
Arr\set($data, 'c.d', 2);
assert($data['c']['d'] == 2);
// or use the global aliases
array_get($data, 'a.b');
```
There also is a `Bag` class which provides an object oriented API for the arrays.
```php
set('a.b', 1);
var_dump($bag->raw());
/*
array(1) {
["a"]=>
array(1) {
["b"]=>
int(1)
}
}
*/
```
## API
The following are defined in the namespace `Krak\Arr`:
array expand(iterable $iterable, string $separator = '.')
array index_by(iterable $iterable, string $key)
array udiff_stable(iterable $a, iterable $b, callable $cmp)
mixed get(array $data, string $key, mixed $else = null)
mixed getIn(array $data, array $key, mixed $else = null);
bool has(array $data, string $key, string $sep = '.')
bool hasIn(array $data, array $key)
void set(array &$data, string $key, mixed $value, string $sep = '.')
void del(array &$data, string $key, string $sep = '.')
You can also use the globally defined aliases
array_expand
array_index_by
array_udiff_stable
array_get
array_has
array_set
array_del
Or the `Krak\Arr\Bag` class:
```php