Indices negativos en un vector con PHP

En la mayoría de los lenguajes de programación de alto y bajo nivel, acceder a un elemento de un vector a través de un índice menor que cero implica acceder a una dirección de memoria que no hemos reservado, y en consecuencia almacenar en un lugar dónde no protegemos el contenido desde el mismo programa.

Para poder usar un índice negativo en el lenguaje C tendremos que declarar otro puntero auxiliar que acceda al espacio de memoria reservado por el anterior para que los menores que cero en ese rango sean equivalentes a sus análogos positivos. El código que ejemplifica este caso:

int a[10] = { /* lo inicializamos a lo que queramos */ };
int *b;
int i;
b = a + 10; /* aquí entra en juego el puntero auxiliar */
for (i = -10; i < 0; i++) {
int x = b[i];
}

Sencillo de entender, pero en PHP la cosa se simplifica con poder usarlo como si de un elemento ubicado en la zona positiva se tratase

Leer más » 3 Comentarios