定制 syaiful6/headbanger 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

syaiful6/headbanger

Composer 安装命令:

composer require syaiful6/headbanger

包简介

Headbanger! PHP Data structure

README 文档

README

Headbanger

PHP data structure and or collections.

Motivation: PHP only give us array and object as compound type. There are no list, hash table, set, etc. Array on PHP doest it all. This make operation on array not predictable, is sometimes act as ordered set, list, ordered map. This package aim to provide some basic data structure to cover this gap.

Install

composer require syaiful6/headbanger

This package contains implementations of Map, List, Set and Str. We consider string as container, because it can be accessed via array notation and when we want to iterate string, we actually want to iterate over character.

Map

Python call this dict, Ruby call this type Hash. Whatever the name, this data type can 'map' key value pair. Typically the key are unique (within one map).

The main operations on a map are storing a value with some key and extracting the value given the key. It's also should possible to delete a key-value pair for the given key.

This package provide one implementation for this data type. HashMap that also implements Countable, Traversable and ArrayAccess. So you can treat this instance as array. To delete key-value pair use unset($hash['somekey'])

Note: HashMap is unordered map and not permit adding item during iteration, replacing a key-value is fine. Iterate over map will give you the key only, with this key you can access the value anyway. If you need the value use values method, if you need both use ```items`` method.

$map = new Headbanger\HashMap();
// Add item, or just give map your array or any traversable on constructor
$map['one'] = 1;
$map['two'] = 2;
$map['three'] = 3;
// deleting
unset($map['one']);
// check if item exists
isset($map['one']);

List

A list or sequence, represents an ordered sequence of values, these values may occur more than once within on list. Think of it as finite sequence. Currently only one implementation provided: ArrayList. Using SplFixedArray as their storage.

You can use ArrayList as Stack, where the last element added is the first element retrieved (“last-in, first-out”). Use push to add item, and retrieve an item from the top use pop (without argument). However dont use ArrayList as Queue, they are not efficient for this purpose. But it possible.

Set

A set is an unordered collection with no duplicate elements. The common operations are remove duplicates entries and membership testing. Set also support mathematical operations like union, intersection, difference, etc.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-05-02

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固