perf/enumeration 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

perf/enumeration

最新稳定版本:1.0.2

Composer 安装命令:

composer require perf/enumeration

包简介

Enumeration classes: map and collection, both with mutable and immutable behavior.

README 文档

README

This library allows to interact with specialized arrays: collections and maps, which can be declared mutable or immutable.

Collections are arrays which consist of a list of values, with numeric indexes (keys). Maps are arrays which consist of key-value pairs. When a collection or a map is declared "mutable", it is allowed to alter its content (ie, add, set or remove values). When a collection or a map is declared "immutable", it is not allowed to alter its content.

Installation & Requirements

There are no dependencies on other libraries.

Install with Composer:

{
	"require":
	{
		"perf-enumeration" : "~1.0"
	}
}

Usage

Collections

Basic operations

<?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'

Iteration

<?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
}

Maps

Basic operations

<?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

	// ...
}

Iteration

<?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
}

统计信息

  • 总下载量: 94
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-04-24