PHPerKaigi 2024

A classe Map

(PECL ds >= 1.0.0)

Introdução

Um Map é uma coleção sequencial de pares chave-valor, quase idêntica a um array usada em um contexto semelhante. As chaves podem ser de qualquer tipo, mas devem ser únicas. Os valores são substituídos se adicionados ao mapa usando a mesma chave.

Pontos Fortes

  • Chaves e valores podem ser de qualquer tipo, incluindo objetos.
  • Suporta a sintaxe de array (colchetes).
  • A ordem de inserção é preservada.
  • O desempenho e a eficiência de memória são muito semelhantes a um array.
  • Libera automaticamente a memória alocada quando seu tamanho diminui o suficiente.

Pontos Fracos

  • Não pode ser convertido para um array quando objetos são usados como chaves.

Resumo da classe

class Ds\Map implements Ds\Collection, ArrayAccess {
/* Constantes */
const int MIN_CAPACITY = 16;
/* Métodos */
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 xor(Ds\Map $map): Ds\Map
}

Constantes pré-definidas

Ds\Map::MIN_CAPACITY

Registro de Alterações

Versão Descrição
PECL ds 1.3.0 A classe agora implementa ArrayAccess.

Índice

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top