Uhm... non va...
Con la funzione messa così:
	Codice PHP:
	
$cambiamento = "si"; 
$livello = 1; 
$textfile = fopen("ciclo.txt", r); 
$textfile2 = fopen("ciclonew.txt", w); 
while ($cambiamento == "si")  { 
    while ($rigafile = fgets($textfile,1024))   { 
        $campiriga = explode("|", $rigafile); 
        if ($campiriga[1] < $livello)   { 
            $campiriga[1] = chiamafunzione(); 
            $livello = $campiriga[1]; 
            $cambiamento = "si"; 
        }else{ 
            $cambiamento = "no"; 
        } 
        $rigafile2 = $campiriga[0] . "|" . $campiriga[1] . "/n/r"; 
        fwrite($textfile2, $rigafile2); 
    } 
} 
 
Su questo file di input iniziale:
1|1
2|2
3|0
4|0
5|0
Ottengo questo output:
1|1
2|2
3|5
4|5
5|5
E in più entra in loop...
Se invece cambio la condizione del while esterno in 
	Codice PHP:
	
while ($cambiamento <> "si") 
 
non entra più in loop ma smette di funzionare... :-s