PHP Judy Arrays - classe Judy ()

A classe Judy pode implementar uma interface ArrayAccess e uma interface Iterator. Uma vez instanciada esta classe, podemos acessá-la como um array PHP.

Objeto PHP Judy (ou Judy Array) pode ser um dos seguintes tipos -

Constantes Predefinidas

  • Judy :: BITSET - Defina Judy Array como Bitset com chaves como Inteiro e Valores como Booleano.
  • Judy :: INT_TO_INT - Defina Judy Array com chave / valores como Inteiro e somente Inteiro.
  • Judy :: INT_TO_MIXED - Defina Judy Array com chaves como Inteiro e Valores de qualquer tipo.
  • Judy :: STRING_TO_INT - Defina Judy Array com chaves como String e Valores como Integer, e Integer apenas.
  • Judy :: STRING_TO_MIXED - Defina Judy Array com chaves como String e Valores de qualquer tipo.

Exemplo

<?php
   $judy = new Judy(Judy::INT_TO_INT);
   $judy[5] = 2;
   $judy[3] = 1;
   $judy[6] = 3;

   echo $judy->offSetGet($judy->last(4));
?>

Class Synopsys

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 ;
   
   /* Methods */
   public int byCount ( int $nth_index )
   public __construct ( int $judy_type )
   public int count ([ int $index_start = 0 [, int $index_end = -1 ]] )
   public void __destruct ( void )
   public mixed first ([ mixed $index ] )
   public int firstEmpty ([ mixed $index = 0 ] )
   public int free ( void )
   public int getType ( void )
   public void last ([ string $index ] )
   public int lastEmpty ([ int $index = -1 ] )
   public int memoryUsage ( void )
   public mixed next ( mixed $index )
   public int nextEmpty ( int $index ) 
   public bool offsetExists ( mixed $offset )
   public mixed offsetGet ( mixed $offset )
   public bool offsetSet ( mixed $offset , mixed $value )
   public bool offsetUnset ( mixed $offset )
   public mixed prev ( mixed $index )
   public int prevEmpty ( mixed $index )
   public void size ( void )
}