Foros del Web » Programando para Internet » PHP »

Array ( current, next, prev)

Estas en el tema de Array ( current, next, prev) en el foro de PHP en Foros del Web. Hola a todos. Necesito ver si alguien me ayuda con arrays tengo este array en una variable $datos Código PHP: Array (  [ 0 ] => Array ( [ orden_seo ...
  #1 (permalink)  
Antiguo 01/12/2011, 13:44
Avatar de MauricioCr  
Fecha de Ingreso: junio-2007
Ubicación: San Pedro, San Jose, Costa Rica, Costa Rica
Mensajes: 67
Antigüedad: 16 años, 9 meses
Puntos: 0
Array ( current, next, prev)

Hola a todos.

Necesito ver si alguien me ayuda con arrays

tengo este array en una variable $datos
Código PHP:
Array ( 
[
0] => Array ( [orden_seo] => 321 [espanol] => Abejaruco Europeo 
[
1] => Array ( [orden_seo] => 320 [espanol] => Abejaruco Persa 
[
2] => Array ( [orden_seo] => 110 [espanol] => Abejero Europeo 
[
3] => Array ( [orden_seo] => 323 [espanol] => Abubilla 
[
4] => Array ( [orden_seo] => 366 [espanol] => Acentor Alpino 
[
5] => Array ( [orden_seo] => 365 [espanol] => Acentor Común 
[
6] => Array ( [orden_seo] => 210 [espanol] => Agachadiza Chica 
[
7] => Array ( [orden_seo] => 211 [espanol] => Agachadiza Común 
[
8] => Array ( [orden_seo] => 212 [espanol] => Agachadiza Real 
[
9] => Array ( [orden_seo] => 451 [espanol] => Agateador Común 
[
10] => Array ( [orden_seo] => 450 [espanol] => Agateador Norteño 

Necesito posicionarme en el dato del array numero 4, que este quede como current y después en una variable tener el prev osea dato 3 y en otra variable tener el next osea 5.
No se como lograrlo y agradecería si me dan una mano

Gracias!
  #2 (permalink)  
Antiguo 01/12/2011, 14:03
 
Fecha de Ingreso: diciembre-2010
Ubicación: valencia
Mensajes: 203
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Array ( current, next, prev)

sabiendo el indice del actual solo tienes que restar uno para el anterior y sumar uno para el siguiente.
  #3 (permalink)  
Antiguo 01/12/2011, 14:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Array ( current, next, prev)

Y si estan en orden:
Código PHP:
Ver original
  1. $curr = $array[4];
  2. $prev = $array[3];
  3. $next = $array[5];
  #4 (permalink)  
Antiguo 01/12/2011, 14:44
Avatar de MauricioCr  
Fecha de Ingreso: junio-2007
Ubicación: San Pedro, San Jose, Costa Rica, Costa Rica
Mensajes: 67
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Array ( current, next, prev)

Gracias a ambos, el problema es que el array cambia y necesito yo decirle al arrary que el curent sea por ejemplo [orden_seo] => 366 que es por ejemplo el dato que estoy viendo en una pagina web, tengo que decirle yo con alguna funcion de php que current sea 366 para asi obtener prev (323) y next (365) , espero me entiendan.
  #5 (permalink)  
Antiguo 01/12/2011, 15:30
 
Fecha de Ingreso: diciembre-2010
Ubicación: valencia
Mensajes: 203
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Array ( current, next, prev)

se aplica lo mismo, tu siempre vas a conocer el indice en el que estas, todo lo demas ya se a dicho.

lo que no me cuadra es:

Cita:
366 para asi obtener prev (323) y next (365)
  #6 (permalink)  
Antiguo 01/12/2011, 15:47
Avatar de MauricioCr  
Fecha de Ingreso: junio-2007
Ubicación: San Pedro, San Jose, Costa Rica, Costa Rica
Mensajes: 67
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Array ( current, next, prev)

Gracias, lo que pasa es que el array esta en la posición uno, yo debo desplazarme a una posición determinada. En este caso de ejemplo a la posicion donde esta el dato [orden_seo] => 366 que para mi eso es como un llave y asi obtener los valores anterior y posterior de acuerdo a este dato donde me posiciono prev (323) y next (365)

Ejemplo:

Yo tengo el 366 por medio de un $_GET
index.php?id=366

Necesito irme a esa posición del array y así sacar los valores anterior y posterior de acuerdo a ese id que serian prev (323) y next (365)
  #7 (permalink)  
Antiguo 01/12/2011, 15:55
 
Fecha de Ingreso: diciembre-2010
Ubicación: valencia
Mensajes: 203
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Array ( current, next, prev)

ok, tu obtiene el current por $_GET ya tienes la posicion del array que necesitas:

array[indice]

ahora lo que no tengo claro aun es:

Cita:
y así sacar los valores anterior y posterior de acuerdo a ese id que serian prev (323) y next (365)
para mi el prev seria 365 y next 367 siendo current 366. si tu necesitas aplicar alguna otra formula para net y prev seria bueno que lo explicaras para poder darte una solucion.
  #8 (permalink)  
Antiguo 01/12/2011, 16:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Array ( current, next, prev)

Pues tienes que recorrer tu array, suponiendo:
Código PHP:
Ver original
  1. $id = $_GET['id'];
  2. $pos = 0;
  3. foreach ($array as $index => $entries) {
  4.       if( $id == $entries['orden_seo'] ) {
  5.              $pos = $index;
  6.              break;
  7.       }
  8. }
  9.  
  10. $current = $pos;
  11. $prev = $pos - 1;
  12. $next = $pos + 1;
  13.  
  14. var_dump($array[$prev]);
  15. var_dump($array[$current]);
  16. var_dump($array[$next]);
  #9 (permalink)  
Antiguo 01/12/2011, 16:26
 
Fecha de Ingreso: diciembre-2010
Ubicación: valencia
Mensajes: 203
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Array ( current, next, prev)

vale con lo que a puesto GatorV ya me queda claro. me encabezone con los indices del array.

Etiquetas: current, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:06.