jdrieghe/array-helpers

一组用于处理PHP数组便捷方法的集合。部分灵感来源于Laravel数组助手。

v0.2.0 2018-07-17 15:53 UTC

This package is auto-updated.

Last update: 2024-08-29 04:20:03 UTC


README

Scrutinizer Code Quality Build Status Code Coverage CircleCI License: MIT

目的

此包受到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()