Array vs SplFixedArray ¶

Una de las muchas cosas que me extraño cuando empecé a programar en Ruby, es que a diferencia de PHP existen Hash y Arrays, un Array es un conjunto de datos cuyo índice es numérico, un Hash (diccionario) es un conjunto de datos cuyo indice se componen mediante símbolos (alfanumérico), en PHP va todo mezclado, cosas que pasan.

El otro día, leyendo los enlaces que vienen en el libro "PHP the right way" venía un enlace a la Biblioteca Standar de PHP (SPL), una de las librerías que vienen en la biblioteca es la clase SplFixedArray, esta clase nos permite trabajar con Arrays de una forma más eficiente que el standar Array de PHP, ya que por un lado solo nos permite que los índices sean numéricos, por otro lado tenemos que definir el tamaño del Array, puede que esto sea la parte mala, ya que nos obliga a conocer el tamaño del array, o usar la función Count para saber el número de elementos.

Los nombres de los métodos son autoexplicativos , pero por si acaso vienen descritos también en la web de php.net:

Con esta clase ganamos en velocidad y en eficacia, obviamente le añadimos una capa pero no creo que esta complejidad suponga ningún problema para alguien que lleve tiempo trabajando con PHP.