aviator/可选

键布尔值的容器。

0.1.1 2017-12-02 17:04 UTC

This package is auto-updated.

Last update: 2024-09-21 20:38:33 UTC


README

Build Status Latest Stable Version License

概览

可选是一个键布尔存储。它可以用于任何事情,但通常用于存储选项。

安装

通过 Composer

composer require aviator/optionally

测试

通过 Composer

composer test

使用

使用数组或无数组实例化 Optionally。您可以使用 add()replaceWith()(见下文)稍后添加数组。

数组应该有字符串键和布尔值。需要注意的是,任何具有非字符串键和非布尔值的键值对都将静默丢弃——它们将 不会 被强制转换。

$options = Optionally::make([
    'option1' => true, 
    'option2' => false, 
    0 => false, 
    'test' => 'value'
]);

// [0 => false] and ['test' => 'value'] will be discarded.

使用 all() 获取底层数组

$options->all();

// ['option1' => true, 'option2' => false]

使用 keys() 获取底层数组的键

$options->keys();

// ['option1', 'option2']

如果存在则获取键的值(如果不存在则为 null)使用 get()

$options->get('option1');

// true

$options->get('someOptionThatDoesntExist');

// null

使用 has() 查找键是否存在

$options->has('option2');

// true

$options->has('someOptionThatDoesntExist');

// false

使用 replaceWith() 删除现有选项并替换为新的

$options->replaceWith(['option3' => true, 'option4' => false]);

$options->all();

// ['option3' => true, 'option4' => false]

使用 add() 将新数组添加到现有选项数组中,覆盖现有键

$options->add(['option1' => false, 'option3' => true]);

$options->all();

// ['option1' => false, 'option2' => false, 'option3' => true]

使用 set() 设置单个键值对

$options->set('option3', false);

$options->all();

// ['option1' => true, 'option2' => false, 'option3' => false]

使用 remove() 删除单个键值对

$options->remove('option1');

$options->all();

// ['option2' => true]

Optionally 的实例是可迭代的

foreach ($options as $key => $value) {
    /* ... */
}

它也是可计数的

count($foreach);

// 2

其他

许可协议

此软件包使用MIT 许可协议 (MIT) 许可。