PDA

View Full Version : [PHP] problema return funzione


anonimizzato
07-08-2007, 16:37
Ciao a tutti,

stavo implementando una semplice funzione ricorsiva di test per le briciole di pane solo che non riesco a far ritornare alla funzione il valore calcolato della stessa come stringa.

codice PHP:

function briciole($id,$briciole = '') {

if ($id != 0) {

$sql = "select * from pagine where paginaID = '".$id."'";
$result = mysql_query($sql);
if ($row = mysql_fetch_assoc($result)) {

$briciole = $row['pagina_titolo'] . ' » ' . $briciole;

if ($row['pagina_parentID'] != 0) {
briciole($row['pagina_parentID'],$briciole);
} else {
return $briciole;
}

}

}

}



poi il valore lo stampo con:

codice:

<div><?php echo briciole(7); ?></div>



Se invece di RETURN metto un ECHO allora la stringa appare a video come ad esempio:

Azienda » Contattaci » Recapiti » Dove siamo »

la tabella a DB su cui eseguo la funzione è impostato semplicemente con dei campi:

paginaID, pagina_parentID, pagina_titolo

Grazie anticipatamente per l'aiuto.

Pappe
07-08-2007, 18:48
per usare il return devi assegnare ad una variabile la funzione e poi mandarla in output:



$var = briciole(7);
echo $var;

anonimizzato
07-08-2007, 19:02
Aspetta aspetta e perchè?

Cioè se io faccio una cosa del tipo:


function pippo() {
$tot = 1 + 2;
return $tot;
}

echo pippo();


funziona correttamente ritornanadomi il valore della variabile che calcola l'espressione 1+2.

Perchè non accade così anche per la stringa "briciole"?