- Home
 - Categorie
 - Coding e Sistemistica
 - Coding
 - Funzione php
 
- 
							
							
							
							
							
Funzione php
allora..
io ho una funzione che dovrebbe fare così[php]
function convert_avatar($a,$b)
{
if (condizione)
{
fai le operazioniif (condizione 2) { fai le operazioni //qui dovrebbe ricominciare da capo la funzione } else { fai le operazioni //qui dovrebbe ricominciare da capo la funzione } } else return $a; }[/php]il problema è che non so come dirgli di ricominciare.. mi date un aiutino?

 - 
							
							
							
							
							
Ciao,
generalmente le funzioni ricorsive si fanno richiamando la funzione stesse dentro la funzione, prestando attenzione di non generare un loop infinito.
Nel tuo caso dentro la condizione 2 ed il suo else dovresti richimare convert_avatar(.,.). Ora per non generere un loop occorre che prima o poi la condizione 2 diventi falsa.
 - 
							
							
							
							
							
Be se ho capito quello che vuoi fare dovresti usare un while al posto del primo if
Una cosa del genere
[php]function convert_avatar($a,$b)while (condizione1) {
fai le operazioni
if (condizione2) { fai le operazioni //qui dovrebbe ricominciare da capo la funzione } else { fai le operazioni //qui dovrebbe ricominciare da capo la funzione }}
return $a
}[/php]Finche condizione1 è vera ripete il ciclo, attento a non farlo diventare infinito
 - 
							
							
							
							
							
Be.. si può fare anche con un while.. come uno preferisce, a me piace anche usare proprio le funzioni ricorsive, cioè che hanno al loro interno una chiamata a loro stesse.
 - 
							
							
							
							
							
@JackLuk said:
allora..
io ho una funzione che dovrebbe fare così[php]
function convert_avatar($a,$b)
{
if (condizione)
{
fai le operazioniif (condizione 2) { fai le operazioni //qui dovrebbe ricominciare da capo la funzione } else { fai le operazioni //qui dovrebbe ricominciare da capo la funzione } } else return $a; }[/php]il problema è che non so come dirgli di ricominciare.. mi date un aiutino?

risolto!
[php]
function convert_avatar($a,$b)
{
if (condizione)
{
fai le operazioniif (condizione 2) { fai le operazionireturn convert_avatar($a,$b);
}
else
{
fai le operazioni
return convert_avatar($a,$b);
}
}else return $a; }[/php]
 - 
							
							
							
							
							
con le funzioni ricorsive non ti puoi permettere i cicli
