Cita:
Iniciado por Qazser 24mb son 25165824bytes, tal como indica php en su error.
El asunto es que cada cifra del índice es un espacio en la memoria, es como una estanteria con libros.
Una estanteria tiene 10 filas, las primeras desde abajo hacia arriba estan vacias, la 9 y la 10 tienen libros, pero tu intenas meter un libro en la fila 11....Si, las filas de abajo estan vacias, pero y las podrias usar si usarias un indice mas bajo.
No lo he probado, pero y que tal si guardar la cifra como string....no es necesario que pongas una p delante como has puesto en tu primer mensaje, sino tan solo usa comillas simples para delimitar el numero. Teóricamente deberia servir.
Luego como php es muy pasivo con los tipos de datos, cuando saques esa posicion y hagas operaciones numericas posteriormente (como convertirlo a fecha real) no deberia ser un problema que php vea que el string es un numero.
EDIT;
algo así
Código PHP:
$arr['a']='texto';
$arr['a']['24903655']=1.133;
Si, lo intenté pero sigue dando el mismo error, supongo que se convierte a número, por eso le puse esa 'p' al principio, también intenté con:
Código PHP:
$arr['a']='texto';
$arr['a'][(string)'24903655']=1.133;
Cita:
Iniciado por h2swider Eso es un error. Si bien el arreglo cuenta con 3 indices, el sistema operativo le reserva memoria para poder completar desde el indice 0 al maximo.
Si bien PHP es bastante flexible con los arrays, estos siguen manteniendo este tipo de limitaciones.
Saludos!
Entiendo, entonces es como había pensado, ser reserva la memoria aunque solo haya guardado 1 variable, tal como pasa en C, esto es un tema bastante interesante, por lo que veo me convendrá guardar todos mis arreglos con indices alfanuméricos para ahorrar memoria.
Se que también podría aumentar la memoria disponible pero creo que será más eficiente no darle más carga al servidor.
Gracias a todos por las respuestas, he aprendido algo nuevo :)