yiisoft / arrays
Yii 数组助手
3.1.0
2024-04-04 11:07 UTC
Requires
- php: ^8.0
- yiisoft/strings: ^2.1
Requires (Dev)
- maglnet/composer-require-checker: ^4.4
- phpunit/phpunit: ^9.5
- rector/rector: ^1.0.0
- roave/infection-static-analysis-plugin: ^1.25
- spatie/phpunit-watcher: ^1.23
- vimeo/psalm: ^4.30|^5.20
This package is auto-updated.
Last update: 2024-09-16 19:36:08 UTC
README
Yii Arrays
该包提供
ArrayHelper
,它具有用于处理数组的静态方法;ArraySorter
,它具有用于排序数组的静态方法;ArrayAccessTrait
提供了 \IteratorAggregate、\ArrayAccess 和 \Countable 的实现;ArrayableInterface
和ArrayableTrait
用于支持自定义表示的类。
要求
- PHP 8.0 或更高版本。
安装
composer require yiisoft/arrays
ArrayHelper 使用
Array helper 方法是静态的,因此使用方式如下
$username = \Yiisoft\Arrays\ArrayHelper::getValue($_POST, 'username');
总的来说,助手有以下方法组。
获取数据
- getValue
- getValueByPath
- getColumn
- getObjectVars
设置数据
- addValue
- addValueByPath
- setValue
- setValueByPath
删除数据
- remove
- removeByPath
- removeValue
检测数组类型
- isIndexed
- isAssociative
HTML 编码和解码值
- htmlDecode
- htmlEncode
与数组进行比较
- isIn
- isSubset
转换
- index
- group
- filter
- map
- merge
- parametrizedMerge
- renameKey
- toArray
其他
- keyExists
- pathExists
ArraySorter 使用
Array sorter 有一个静态方法,使用方式如下
\Yiisoft\Arrays\ArraySorter::multisort($data, ['age', 'name'], [SORT_ASC, SORT_DESC]);
ArrayAccessTrait 使用
ArrayAccessTrait
为 \IteratorAggregate、\ArrayAccess 和 \Countable 提供了实现。
请注意,ArrayAccessTrait
需要使用它的类包含一个名为 data
的属性,该属性应该是一个数组。数据将通过 ArrayAccessTrait 暴露,以支持将类对象像数组一样访问。
使用示例
use \Yiisoft\Arrays\ArrayAccessTrait; class OfficeClassification implements \IteratorAggregate, \ArrayAccess, \Countable { use ArrayAccessTrait; public array $data = [ 'a' => 'Class A', 'b' => 'Class B', 'c' => 'Class C', ]; } $classification = new OfficeClassification(); echo 'Count classes: ' . $classification->count() . "\n"; // 3 $iterator = $classification->getIterator(); while ($iterator->valid()) { echo $iterator->current() . "\n"; // Class A, Class B, Class C $iterator->next(); }
ArrayableInterface
和 ArrayableTrait
使用
ArrayableInterface
及其实现 ArrayableTrait
旨在用于希望支持自定义表示其实例的类。
使用示例
use \Yiisoft\Arrays\ArrayableTrait; use \Yiisoft\Arrays\ArrayableInterface; class Car implements ArrayableInterface { use ArrayableTrait; public string $type = 'Crossover'; public string $color = 'Red'; public int $torque = 472; } $car = new Car(); $data = $car->toArray(['type', 'color']); // ['type' => 'Crossover', 'color' => 'Red']
文档
如果您需要帮助或有问题,Yii 论坛 是一个好去处。您还可以查看其他 Yii 社区资源。
许可
Yii Arrays 是免费软件。它根据 BSD 许可证发布。请参阅 LICENSE
了解更多信息。
由 Yii 软件公司 维护。