Arreglos en PHP de ‘índice base 1′

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;

About Jesús Sánchez

Nací en un pueblito casi en la costa de Oaxaca, México, en el lluvioso mes de julio de 1987. Desde 2002 vivo en Monterrey, Nuevo Léon, México.

Soy desarrollador web, experto en CSS+XHTML, programador PHP, ASP, bloggero, twittero, flickero, mi gran pasión, admeás de la tecnología, es el futbol, le voy al América y al que no le guste que se vaya a leer alt1040.
This entry was posted in Programación and tagged , . Bookmark the permalink.

0 Responses to Arreglos en PHP de ‘índice base 1′

  1. Aoyama says:

    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

  2. Stan says:

    Use el arreglo como se debe, no sea flojo.

    PHP Rulez!!

  3. adrmx says:

    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.

  4. Jesús says:

    @Stanmx: arréglamesta.. U_u

  5. Alberto says:

    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

  6. 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)

  7. Jesús says:

    ya aprendisteS php?? :o

  8. Adan says:

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

  9. Jesús says:

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

  10. Alberto says:

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

    Saludos.

  11. Jesús says:

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

  12. Pingback: Enlaces de Programación 3 - Carrero Bitácora de los Hermanos Carrero, David Carrero Fernández-Baillo y Jaime Carrero Fernández-Baillo.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>