Iterators en PHP

En PHP existen, a parte de los arrays, una serie de estructuras de datos que nos pueden facilitar la labor a la hora de trabajar. Normalmente no son muy necesarios y con los arrays nos sobra, pero nunca está del todo mal conocerlos y saber que por ejemplo su uso de memoria suele ser mejor (como se observa en los benchmarks del artículo).

  • Fixed Arrays (SplFixedArray): arrays de longitud fija, muy útiles cuando el tamaño del array es siempre el mismo y es necesario que tenga siempre todos los elementos aunque estén vacios.
  • Listas (SplDoublyLinkedList): listas de elementos que permite recorrerlas en ambos sentidos
  • Pilas (SplStack): el último que entra primero que sale (LIFO)
  • Colas (SplQueue): el primero que entra primero que sale (FIFO)
  • Heap (SplHeap): traducido como montículos, son árboles de conjuntos de datos ordenados en el que el padre tiene un valor superior a los hijos
  • Cola de prioridades (SplPriorityQueue): igual que las colas pero los elementos se ordenan según una prioridad (ej: la lista de espera de Urgencias)
  • Tablas hash (SplObjectStorage): muy similar a cómo funcionan los arrays en PHP.

Interesante ver los benchmarks que nos muestra al final del artículo

New SPL Features in PHP 5.3