jdrieghe / array-helpers
一组用于处理PHP数组便捷方法的集合。部分灵感来源于Laravel数组助手。
v0.2.0
2018-07-17 15:53 UTC
Requires (Dev)
- phpunit/php-code-coverage: ^4.0
- phpunit/phpunit: ^5.7
This package is auto-updated.
Last update: 2024-08-29 04:20:03 UTC
README
目的
此包受到Laravel中一些优秀的数组助手函数的启发。
有时在一个特定的项目中包含所有Illuminate\Support
的内容可能有些过多,所以我决定构建一个独立的包,以提供一些必要的框架无关的数组魔法。
安装
可以通过composer轻松完成安装。
composer require jdrieghe/array-helpers
用法
静态方法
您可以选择仅使用静态助手方法。
use ArrayHelpers\Arr;
$result = Arr::get($array, $key, $default);
函数式方法
如果您更喜欢函数式方法,也有一些命名空间便捷方法可用。
use function ArrayHelpers\array_get;
$result = array_get($array, $key, $default);
可用助手
数组获取
此助手允许您使用点表示法从数组中获取项目。如果项目不存在,它将返回指定的默认值或null。
$data = [
'foo' => [
'bar' => 'baz',
],
];
Arr::get($data, 'foo');
// returns: ['bar' => 'baz'];
Arr::get($data, 'foo.bar');
// returns: 'baz';
Arr::get($data, 'xyz', 'default');
// returns: 'default';
注意,如果您更喜欢函数式方法,可以将Arr::get()
替换为array_get()
。
数组存在
此助手检查使用点表示法是否在数组中存在项目。
$data = [
'foo' => [
'bar' => 'baz',
],
];
Arr::has($data, 'foo');
// returns: true;
Arr::has($data, 'foo.bar');
// returns: true;
Arr::has($data, 'xyz');
// returns: false;
注意,如果您更喜欢函数式方法,可以将Arr::has()
替换为array_has()
。
数组设置
此助手将数组的某个键设置为某个值。可以使用点表示法创建深层嵌套的键。
$data = [];
Arr::set($data, 'foo.bar', 'baz');
$data
现在包含
[
'foo' => [
'bar' => 'baz',
],
];
注意,如果您更喜欢函数式方法,可以将Arr::set()
替换为array_set()
。