PHP - Fonctions de carte

La carte est une collection séquentielle de paires clé-valeur, presque identique à un tableau utilisé dans un contexte similaire. Les clés peuvent être de n'importe quel type mais doivent être uniques, et les valeurs sont remplacées si elles sont ajoutées à la carte à l'aide de la même clé.

Forces

  • Les clés et les valeurs peuvent être de tout type, y compris les objets.
  • Prend en charge la syntaxe de tableau (crochets).
  • L'ordre d'insertion est conservé.
  • Les performances et l'efficacité de la mémoire sont très similaires à celles d'un tableau.
  • Libère automatiquement la mémoire allouée lorsque sa taille diminue suffisamment.

Faiblesses

  • Ne peut pas être converti en tableau lorsque des objets sont utilisés comme clés.

Syntaxe

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

Constantes prédéfinies

Ds \ Map :: MIN_CAPACITY

Sr. Non Description de la fonction
1

Fonction Ds \ Map :: allocate ()

Cette fonction peut allouer suffisamment de mémoire pour la capacité requise.

2

Fonction Ds \ Map :: apply ()

Cette fonction peut mettre à jour toutes les valeurs en appliquant une fonction de rappel à chaque valeur.

3

Fonction Ds \ Map :: capacity ()

Cette fonction peut renvoyer la capacité actuelle.

4

Fonction Ds \ Map :: clear ()

Cette fonction peut supprimer supprimer toutes les valeurs.

5

Fonction Ds \ Map :: copy ()

Cette fonction peut renvoyer la copie superficielle d'une carte.

6

Fonction Ds \ Map :: count ()

Cette fonction peut renvoyer le nombre de valeurs dans une carte.

sept

Fonction Ds \ Map :: diff ()

Cette fonction peut créer une nouvelle carte en utilisant des clés qui ne figurent pas dans une autre carte.

8

Fonction Ds \ Map :: filter ()

Cette fonction peut créer une nouvelle carte en utilisant un appelable pour déterminer les paires à inclure.

9

Fonction Ds \ Map :: first ()

Cette fonction peut renvoyer la première paire d'une carte.

dix

Fonction Ds \ Map :: get ()

Cette fonction peut renvoyer la valeur d'une clé donnée.

11

Fonction Ds \ Map :: hasKey ()

Cette fonction peut déterminer si la carte contient une clé donnée.

12

Fonction Ds \ Map :: hasValue ()

Cette fonction peut déterminer si la carte contient une valeur donnée.

13

Fonction Ds \ Map :: intersect ()

Cette fonction peut créer une nouvelle carte en croisant des touches avec une autre carte.

14

Fonction Ds \ Map :: isEmpty ()

Cette fonction peut renvoyer un retour si la carte est vide.

15

Fonction Ds \ Map :: jsonSerialize ()

Cette fonction peut renvoyer une représentation qui peut être convertie en JSON.

16

Fonction Ds \ Map :: keys ()

Cette fonction peut renvoyer l'ensemble des touches de la carte.

17

Fonction Ds \ Map :: ksort ()

Cette fonction peut trier la carte sur place par clé.

18

Fonction Ds \ Map :: ksorted ()

Cette fonction peut renvoyer une copie, triée par clé.

19

Fonction Ds \ Map :: last ()

Cette fonction peut renvoyer la dernière paire d'une carte.

20

Fonction Ds \ Map :: map ()

Cette fonction peut renvoyer le résultat de l'application d'un rappel à chaque valeur.

21

Fonction Ds \ Map :: merge ()

Cette fonction peut renvoyer le résultat de l'ajout de toutes les associations données.

22

Fonction Ds \ Map :: pairs ()

Cette fonction peut renvoyer une séquence contenant toutes les paires de la carte.

23

Fonction Ds \ Map :: put ()

Cette fonction peut associer une clé à une valeur.

24

Fonction Ds \ Map :: putAll ()

Cette fonction peut associer toutes les paires clé-valeur d'objets ou de tableaux traversables.

25

Fonction Ds \ Map :: reduction ()

Cette fonction peut réduire la carte à une valeur unique en utilisant une fonction de rappel.

26

Fonction Ds \ Map :: remove ()

Cette fonction peut supprimer et renvoyer une valeur par clé.

27

Fonction Ds \ Map :: reverse ()

Cette fonction peut inverser la carte sur place.

28

Fonction Ds \ Map :: Revers ()

Cette fonction peut renvoyer une copie inversée.

29

Fonction Ds \ Map :: skip ()

Cette fonction peut renvoyer la paire à un index positionnel donné.

30

Fonction Ds \ Map :: slice ()

Cette fonction peut renvoyer un sous-ensemble de la carte définie par l'index et la longueur de départ.

31

Fonction Ds \ Map :: sort ()

Cette fonction peut trier la carte sur place par valeur.

32

Fonction Ds \ Map :: sorted ()

Cette fonction peut renvoyer une copie triée par valeur.

33

Fonction Ds \ Map :: sum ()

Cette fonction peut renvoyer la somme de toutes les valeurs d'une carte.

34

Fonction Ds \ Map :: toArray ()

Cette fonction peut convertir une carte en tableau.

35

Fonction Ds \ Map :: union ()

Cette fonction peut créer une nouvelle carte à l'aide des valeurs de l'instance actuelle et d'une autre carte.

36

Fonction Ds \ Map :: values ​​()

Cette fonction peut renvoyer une séquence des valeurs de la carte.

37

Fonction Ds \ Map :: xor ()

Cette fonction peut créer une nouvelle carte en utilisant les clés de l'instance actuelle ou d'une autre carte, mais pas des deux.