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