chipslays / array
数组操作库。
1.1.2
2021-07-03 10:42 UTC
Requires (Dev)
- phpunit/phpunit: ^9.5
README
简单的数组操作库。
支持点表示法和通配符规则。
安装
$ composer require chipslays/array
文档
注意:类
Collection实现了Countable和ArrayAccess。
方法
get(array $array, $keys [, $default = null, string $separator = '.'])
使用点表示法键从数组获取值。
有辅助函数arr_get()。
use Chipslays\Arr\Arr; $array = [ 'user' => [ 'name' => 'chipslays' ], ]; $name = Arr::get($array, 'user.name'); // chipslays $email = Arr::get($array, 'user.email', 'default@email.com'); // default@email.com
$array = [ 'foo' => [ 'bar' => ['baz' => 1], 'bam' => ['baz' => 2], 'boo' => ['baz' => 3], ], ]; $results = arr_get($array, 'foo.*.baz'); // Array // ( // [0] => 1 // [1] => 2 // [2] => 3 // )
$array = [ 'foo' => [ 'bar' => ['baz' => 1], ], ]; $results = arr_get($array, 'foo.*.baz'); // 1
$array = [ 'foo' => [ 'bar' => ['baz' => 1], 'bam' => ['baz' => 2], 'boo' => ['baz' => 3], ], ]; $results = arr_get($array, 'foo.*'); // Array // ( // [0] => Array // ( // [baz] => 1 // ) // [1] => Array // ( // [baz] => 2 // ) // [2] => Array // ( // [baz] => 3 // ) // )
$array = [ 'foo' => [ 'bar' => ['baz' => 1], ], ]; $results = arr_get($array, 'foo.*'); // Array // ( // [baz] => 1 // )
set(array &$array, string $keys, $value = null [, string $separator = '.']) : void
使用点表示法键在数组中设置/覆盖值。
有辅助函数arr_set()。
use Chipslays\Arr\Arr; $array = [ 'user' => [ 'name' => 'chipslays' ], ]; Arr::set($array, 'user.name', 'john doe'); Arr::set($array, 'user.email', 'john.doe@email.com'); Array ( [user] => Array ( [name] => john doe [email] => john.doe@email.com ) )
has(array $array, $keys [, string $separator = '.']): bool
使用点表示法键检查数组中是否存在值。
有辅助函数arr_has()。
use Chipslays\Arr\Arr; $array = [ 'user' => [ 'name' => 'chipslays', 'string' => '', 'null' => null, 'false' => false, ], ]; Arr::has($array, 'user.name'); // true Arr::has($array, 'user.string'); // true Arr::has($array, 'user.null'); // true Arr::has($array, 'user.false'); // true Arr::has($array, 'user.empty_value'); // false
where(array $array, callable $callback)
使用给定的回调过滤数组。
有辅助函数arr_where()。
use Chipslays\Arr\Arr; $array = [ 'user' => [ 'name' => 'chipslays', 'string' => '', 'null' => null, 'false' => false, ], ]; // todo
👀 另请参阅
chipslays/collection- 简单的数组或对象集合操作库。
许可
MIT