Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/11/2009, 12:52
Avatar de jackson666
jackson666
 
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 6 meses
Puntos: 65
Respuesta: Retroceder posición en array

Creo que la funcion que estas buscando se llama prev(), que va de la mano con key() para lo que queres hacer me parece. Buscala en php.net hay lagunos ejemplos lindos....

Te dejo uno que hice yo hace tiempo para que entiendas el funcionamiento. Esta hecho con next(), pero el prev() es analogo:

Código PHP:
<?php
$titulo
="Funciones aplicada con ciclo FOR";
$encabezado="Ejemplos";

$dias[11]="Lunes";
$dias[16]="Martes";
$dias[15]="Miercoles";
$dias[20]="Jueves";
$dias[40]="Viernes";
$dias[33]="Sabado";
$dias[17]="Domingo";

?>
<html>
<head>
<title> <? echo $titulo?> </title>
</head>
<body>
<h1 align="center"> <? echo $encabezado?> </h1>
<p>La función reset() lleva al puntero a la primer posición del array EN DONDE hay un valor!</p>
<p>Las funciones prev() y next() devuelven true o false como salida</p>
<?
for(reset($dias);$i=key($dias);next($dias)){
    echo 
"El puntero esta en: ".$i." y tiene el valor: ".$dias[$i]."<br>\n";
}
?>
</body>
</html>
Tambien se puede hacer con do while:
Código PHP:
<?php
$titulo
="Uso de las funciones: key(), current() y next()";
$encabezado="Ejemplos";

$dias[11]="Lunes";
$dias[16]="Martes";
$dias[15]="Miercoles";
$dias[20]="Jueves";
$dias[40]="Viernes";
$dias[33]="Sabado";
$dias[17]="Domingo";

reset($dias);
?>
<html>
<head>
<title> <? echo $titulo?> </title>
</head>
<body>
<h1 align="center"> <? echo $encabezado?> </h1>
<?
do{
    
$puntero=key($dias); //numero de posicion actual
    
$valor=current($dias); //valor de esa posición
    
echo "Indice ".$puntero.", valor: ".$valor."<br>\n";
}while(
next($dias))
?>
</body>
</html>
Suerte

Última edición por jackson666; 13/11/2009 a las 13:02