# La classe Judy

(PECL judy >= 0.1.1)

## Introduction

La classe Judy implémente l'interface ArrayAccess ainsi que l'interface Iterator. Une fois instancié, l'objet peut etre accédé comme un tableau PHP.

Un objet PHP Judy (tableau Judy) peut être de l'un des types suivant :

- Judy::BITSET
- Judy::INT_TO_INT
- Judy::INT_TO_MIXED
- Judy::STRING_TO_INT
- Judy::STRING_TO_MIXED

Exemple #1 Example de tableau Judy

`<?php
$judy = new Judy(Judy::INT_TO_MIXED);
$judy[1] = "one";
$judy[2] = array('a', 'b', 'c');
$judy[3] = new Judy(Judy::BITSET);
?>`

## Synopsis de la classe

Judy implements ArrayAccess , Iterator {
/* Constants */
const integer BITSET = 1 ;
const integer INT_TO_INT = 2 ;
const integer INT_TO_MIXED = 3 ;
const integer STRING_TO_INT = 4 ;
const integer STRING_TO_MIXED = 5 ;
/* Méthodes */
public byCount ( int `$nth_index` ) : int
public __construct ( int `$judy_type` )
public count ([ int `$index_start` = 0 [, int `$index_end` = -1 ]] ) : int
public __destruct ( void ) : void
public first ([ mixed `$index` ] ) : mixed
public firstEmpty ([ mixed `$index` = 0 ] ) : int
public free ( void ) : int
public getType ( void ) : int
public last ([ string `$index` ] ) : void
public lastEmpty ([ int `$index` = -1 ] ) : int
public memoryUsage ( void ) : int
public next ( mixed `$index` ) : mixed
public nextEmpty ( int `$index` ) : int
public offsetExists ( mixed `$offset` ) : bool
public offsetGet ( mixed `$offset` ) : mixed
public offsetSet ( mixed `$offset` , mixed `$value` ) : bool
public offsetUnset ( mixed `$offset` ) : bool
public prev ( mixed `$index` ) : mixed
public prevEmpty ( mixed `$index` ) : int
public size ( void ) : void
}

## Constantes pré-définies

`Judy::BITSET`

  Définit le tableau Judy en tant que Bitset avec un entier pour les clés et un booléen pour les valeurs

`Judy::INT_TO_INT`

  Définit le tableau Judy avec pour clé/valeur des entiers, et seulement des entiers.

`Judy::INT_TO_MIXED`

  Définit le tableau Judy avec pour clés des entiers et n'importe quel type pour les valeurs.

`Judy::STRING_TO_INT`

  Définit le tableau Judy avec pour clés une chaîne de caractères et un entier pour les valeurs.

`Judy::STRING_TO_MIXED`

  Définit le tableau Judy avec pour clés une chaîne de caractères et n'importe quel type pour les valeurs.

## Sommaire

- Judy::byCount — Trouve le N ième index présent dans le tableau Judy
- Judy::__construct — Construit un nouvel objet Judy
- Judy::count — Compte le nombre d'éléments dans le tableau Judy
- Judy::__destruct — Détruit l'objet Judy
- Judy::first — Recherche le premier index dans le tableau Judy
- Judy::firstEmpty — Recherche le premier index absent dans le tableau Judy
- Judy::free — Vide entiérement le tableau Judy
- Judy::getType — Retourne le type du tableau Judy
- Judy::last — Recherche le dernier index dans le tableau Judy
- Judy::lastEmpty — Recherche le dernier index absent dans le tableau Judy
- Judy::memoryUsage — Retourne la mémoire utilisée par le tableau Judy
- Judy::next — Recherche le prochain index dans le tableau Judy
- Judy::nextEmpty — Recherche le prochain index absent dans le tableau Judy
- Judy::offsetExists — Indique si une position existe dans un tableau
- Judy::offsetGet — Position à lire
- Judy::offsetSet — Position à assigner
- Judy::offsetUnset — Position à supprimer
- Judy::prev — Recherche le précédent index dans le tableau Judy
- Judy::prevEmpty — Recherche le précédent index absent dans le tableau Judy
- Judy::size — Retourne le nombre d'éléments du tableau Judy courant