The Map class

(PECL ds >= 1.0.0)

Introduction

A Map is a sequential collection of key-value pairs, almost identical to an array used in a similar context. Keys can be any type, but must be unique. Values are replaced if added to the map using the same key.

Strengths

  • Keys and values can be any type, including objects.
  • Supports array syntax (square brackets).
  • Insertion order is preserved.
  • Performance and memory efficiency is very similar to an array .
  • Automatically frees allocated memory when its size drops low enough.

Weaknesses

  • Can’t be converted to an array when objects are used as keys.

Class synopsis

class Ds\Map implements Ds\Collection , ArrayAccess {
/* Constants */
const int MIN_CAPACITY = 16;
/* Methods */
public allocate (int $capacity): void
public apply (callable $callback): void
public capacity (): int
public clear (): void
public copy (): Ds\Map
public diff (Ds\Map $map): Ds\Map
public filter (callable $callback = ?): Ds\Map
public first (): Ds\Pair
public get (mixed $key, mixed $default = ?): mixed
public hasKey (mixed $key): bool
public hasValue (mixed $value): bool
public intersect (Ds\Map $map): Ds\Map
public isEmpty (): bool
public keys (): Ds\Set
public ksort (callable $comparator = ?): void
public ksorted (callable $comparator = ?): Ds\Map
public last (): Ds\Pair
public map (callable $callback): Ds\Map
public merge (mixed $values): Ds\Map
public pairs (): Ds\Sequence
public put (mixed $key, mixed $value): void
public putAll (mixed $pairs): void
public reduce (callable $callback, mixed $initial = ?): mixed
public remove (mixed $key, mixed $default = ?): mixed
public reverse (): void
public reversed (): Ds\Map
public skip (int $position): Ds\Pair
public slice (int $index, int $length = ?): Ds\Map
public sort (callable $comparator = ?): void
public sorted (callable $comparator = ?): Ds\Map
public sum (): int |float
public toArray (): array
public union (Ds\Map $map): Ds\Map
public values (): Ds\Sequence
public xor (Ds\Map $map): Ds\Map
}

Predefined Constants

Ds\Map::MIN_CAPACITY

Changelog

Version Description
PECL ds 1.3.0 The class now implements ArrayAccess .

Table of Contents

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes

There are no user contributed notes for this page.

AltStyle によって変換されたページ (->オリジナル) /