perf / 枚举
此包已被废弃,不再维护。未建议替代包。
枚举类:映射和集合,均具有可变和不可变的行为。
1.0.2
2016-08-22 02:53 UTC
Requires
- php: >=5.3.3
Requires (Dev)
- ext-xdebug: ~2.1
- pdepend/pdepend: ~2.0
- phing/phing: ~2.0
- phpmd/phpmd: ~2.0
- phpunit/phpunit: ~4.0
- sebastian/phpcpd: ~2.0
- squizlabs/php_codesniffer: ~2.0
This package is auto-updated.
Last update: 2024-05-09 04:20:15 UTC
README
此库允许与专用数组交互:集合和映射,这些可以声明为可变或不可变。
集合是由值列表组成的数组,具有数字索引(键)。映射是由键值对组成的数组。当集合或映射声明为"可变"时,允许更改其内容(例如,添加、设置或删除值)。当集合或映射声明为"不可变"时,不允许更改其内容。
安装 & 要求
没有其他库的依赖项。
使用Composer安装
{ "require": { "perf-enumeration" : "~1.0" } }
用法
集合
基本操作
<?php use perf\Enumeration\Collection; $array = array( 'foo', 'bar', 'baz', ); $collection = Collection::createMutable($array); if ($collection->contains('bar')) { // true // ... } if ($collection->isEmpty()) { // false // ... } $size = $collection->getSize(); // 3 if ($collection->has(1)) { // true $value = $collection->get(1); // 'bar' // ... } $firstValue = $collection->first(); // 'foo' $lastValue = $collection->last(); // 'baz'
迭代
<?php use perf\Enumeration\Collection; $array = array( 'foo', 'bar', 'baz', ); $collection = Collection::createImmutable($array); foreach ($collection as $pair) { $pair->key(); // 0, 1, 2 $pair->value(); // 'foo', 'bar', 'baz' $pair->index(); // 0, 1, 2 $pair->rank(); // 1, 2, 3 $pair->odd(); // true, false, true $pair->even(); // false, true, false $pair->first(); // true, false, false $pair->last(); // false, false, true }
映射
基本操作
<?php use perf\Enumeration\Map; $array = array( 'foo' => 123, 'bar' => 234, 'baz' => 345, ); $map = Map::createMutable($array); if ($map->contains(123)) { // true // ... } if ($map->isEmpty()) { // false // ... } $size = $map->getSize(); // 3 if ($map->has('foo')) { // true $value = $map->get('foo'); // 123 // ... }
迭代
<?php use perf\Enumeration\Map; $array = array( 'foo' => 123, 'bar' => 234, 'baz' => 345, ); $map = Map::createImmutable($array); foreach ($map as $pair) { $pair->key(); // 'foo', 'bar', 'baz' $pair->value(); // 123, 234, 345 $pair->index(); // 0, 1, 2 $pair->rank(); // 1, 2, 3 $pair->odd(); // true, false, true $pair->even(); // false, true, false $pair->first(); // true, false, false $pair->last(); // false, false, true }