Autor Tema: [RESUELTO] PHP Arrays y como funcionan  (Leído 2852 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13252
  • some text
[RESUELTO] PHP Arrays y como funcionan
« : septiembre 30, 2009, 02:34:10 pm »
pues estoy aprendiendo PHP.
ya en si ya le agarre la onda a todo, solo algunas cosas me dejan confundido.
En Perl, y en cualquier lenguaje normal, si le haces un POP a un arreglo, le saca el ULTIMO elemento.
en php la funcion que hay para ello es array_pop();

la cosa es que el arreglo que tengo es:
Código: (php) [Seleccionar]
Array ( [1] => BEVERLY HILLS, CA 90210 [0] => 10 BEVERLY PARK BEVERLY HILLS, CA 90210 )
hago un $poped_element = array_pop($array)
y lo que esperaria obtener es que $poped_element tenga:
BEVERLY HILLS, CA 90210

PERO NO!
la cosa esta no saca el ultimo elemento en base a indice, si no que al parecer en pase a posicion, porque algo que noté, es que al imprimir el arreglo original, me lista primero el indice [1].
en mi programa el indice [1] es el que primero lleno, y mi duda es, PHP ordena el arreglo en base a quien va entrando primero, aunque se le especifique un indice distinto?
si es asi que feo esta

ayuda entonces  :thumbsup:
« Última Modificación: septiembre 30, 2009, 05:31:23 pm por naruto »
N/A

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re:[ayuda] PHP Arrays y como funcionan
« Respuesta #1 : septiembre 30, 2009, 05:15:26 pm »
Ese indice entre [] no tiene nada que ver con la posicion del elemento en el array. Bien podria ser [a] o [{}], la posicion de elemento en el array es un puntero que no ves ahi y se ordenan "en orden de llegada".

En PHP (un lenguaje normal) no necesitas especificar el indice para ordenar el stack de tu array, por el contrario es mas conveniente hacer esto:

tu_array[] = "elemento 1";
tu_array[] = "elemento 2";
tu_array[] = "elemento 3";

Y el solito va a ir ordenando los elementos poniendolo al final del array, asi que si ahi haces el pop entonces correctamente sacaria el "elemnto 3".

Para tu caso:

tu_array[] = "BEVERLY HILLS, CA 90210";
tu_array[] = "0 BEVERLY PARK BEVERLY HILLS, CA 90210";

pop sacaria "0 BEVERLY PARK BEVERLY HILLS, CA 90210" porque es el ultimo en el array.

Si por azares de la vida queres especificar el indice, lo que podes hacer es despues utilizar ksort().

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13252
  • some text
Re:[ayuda] PHP Arrays y como funcionan
« Respuesta #2 : septiembre 30, 2009, 05:31:11 pm »
gracias.
si vi que estaba llenando un indiece distinto a ZERO inicialmente, entonces el php lo pone de primero y le da el indice 0 (al menos en otros lenguajes que habia usado, no lo hacia asi)
por eso era mi confusion.
ahora bien, lo que hice fue comenzar a llenar desde el zero.
en esta parte en especial, le queria dar los indices explicitos porque asi los usaria luego, problema resuelto.

gracias por la pronta respuesta!
N/A