così modificato sembra funzionare anche se mi pare un pò contorto:Originariamente inviato da mansportivo
grazie per la risposta ma l'output del tuo codice mi restituisce questo
1 ->1
2 ->1
3 ->1
fine Range
4 ->2
5 ->2
fine Range
6 ->3
7 ->3
fine Range
8 ->3
fine Range
quindi non funziona
in ogni caso il mio obiettivo era quello di riuscire ad utilizzare un solo if all'interno del while perchè dovrei fare una serie di azioni alla fine di ogni sezione
ma mi pare che non sia possibile... o sbaglio?
$values = array(1, 1, 1, 2, 2, 3, 3, 3);
$prev = 0;
$contatore=0;
reset($values);
while (list($chiave, $value) = each($values)) {
//print("$prev != $value
");
$contatore++;
if (($prev != $value AND $prev!=null) or (count($values)==$contatore)) {
if (count($values)==$contatore) print("$contatore ->{$value}
");
print("fine Range
");
}
if (count($values)!=$contatore) print("$contatore ->{$value}
");
$prev = $value;
}