- Home
- Categorie
- Coding e Sistemistica
- PHP
- 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 operazioni
return 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