Suscribete por RSS o por email

Arreglos en PHP de ‘índice base 1′

Por Jesús | Abril 22nd, 2008

Cuando no te acostumbras a trabajar con arreglos en PHP, un problema muy recurrente es que intentes accesar al valor de un arreglo de base numérica sin tomar en cuenta el cero.

Un arreglo puede ser:
$miArray = array(1,2,3,4);

Los valores de la variable $miArray serían ordenados de la siguiente manera:
$miArray[0] = 1;
$miArray[1] = 2;
$miArray[2] = 3;
$miArray[3] = 4;

Por tanto, para acceder al primer elemento tendriamos que usar $miArray[0], sería confuso si su valor es 1 ¿no?

Leyendo la biblia de php me encontré que se puede empezar desde una base diferente en un arreglo, usando el operador =>, así, para que el anterior arreglo empezara desde el 1, tendríamos que definirlo así:
$miArray = array(1=>1,2,3,4);

Entonces el resultado sería:
$miArray[1] = 1;
$miArray[2] = 2;
$miArray[3] = 3;
$miArray[4] = 4;

Aunque, para mí es más fácil trabajar con nombres para cada elemento del arreglo:
$miArray = array('uno'=>1,'dos'=>2,'tres'=>3,'cuatro'=>4);

O bien:
$miArray['uno'] = 1;
$miArray['dos'] = 2;
$miArray['tres'] = 3;
$miArray['cuatro'] = 4;

12 Comentarios en “Arreglos en PHP de ‘índice base 1′”

Click aqui para publicar tu comentario

Aoyama Abril 22nd, 2008 at 4:00 pm

Supongo que para muchos sería confuso, yo siempre he trbajado asi y no me confundo para nada, aparte que no me gusta esa forma que tu usas. Pero como siempre, todo es cuestión de preferencia

Stan Abril 22nd, 2008 at 4:58 pm

Use el arreglo como se debe, no sea flojo.

PHP Rulez!!

adrmx Abril 22nd, 2008 at 5:47 pm

No manches dar nombres, que wevaaaa.

Nunca he usado tantos elementos que me confunda, pero tengo entendido que se podría hacer lo siguiente, cuando generas el array,

$miArray[1] = 1;
$miArray[] = 2;
$miArray[] = 3;
$miArray[] = 4;

Y automáticamente empieza la cuenta desde el uno sin tener que meter más mano :D se me hace más cómodo incluso la forma que mencionas.

Jesús Abril 22nd, 2008 at 6:26 pm

@Stanmx: arréglamesta.. U_u

Alberto Abril 22nd, 2008 at 6:30 pm

Apoyo a Stan xDD Por cierto gracias por el regresar el theme anterior.

En el caso de ponerles nombre es útil cuando son matrices =) así no tengo que andar recordando en que número declare tal cosa :D

P.D. ¿En lenguaje el índice comienza en 1? :s Es que siempre me manejado lenguajes derivados de C, pero no dudo que exista algo así lol

Esparta Palma Abril 22nd, 2008 at 8:32 pm

Jesus, llaman “arreglos asociativos”, o “Associate arrays”

Eso de trabajar empezando con 1 es para los que vienen de Pascal, los arreglos deben empezar en 0, así como el sistema binario empieza en 0 :-P

Y cierto, cuando tienes pocos elementos, un arreglo asociado es buena opción…

P.S. Veo a los arreglos como muy 90’s, mejor usar las colecciones/collections (pero no están muy bien en PHP aún)

Jesús Abril 22nd, 2008 at 8:51 pm

ya aprendisteS php?? :o

Adan Abril 23rd, 2008 at 9:47 am

En efecto se llaman “arreglos asociativos”, y es básico para cualquier phpero, ya te los sabias verdad?, no los “acabas” de aprender verdad?

Jesús Abril 23rd, 2008 at 9:50 am

no, pero como empezar a contar del uno sí ;-)

Alberto Abril 23rd, 2008 at 10:25 am

Dios esto me recordó a las listas de correo de X lenguaje de programación :P

Saludos.

Jesús Abril 23rd, 2008 at 10:30 am

@Alberto: jajajajaja yo por eso ya ni en foros entro :mrgreen:

Publica un comentario

XHTML: Puedes usar: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>