uso di return

<?php 

 $a="5";

  $b="10";

  $c="20";

  $d="30";       

  $scemo= calcola($a,$b,$c,$d);     

  function calcola($a,$b,$c,$d){if($somma=($a+$b+$c+$d)<20){return true;} else{return false;}

 }

print("la somma è di $scemo");

?>

In questo caso la funzione restituisce 0  oppure 1  a seconda che la somma superi o meno 20.Mi chiedo:a che serve in pratica  l'uso di true? Non dovrebbe restituire il valore reale della somma invece di 1?

inviato 9 anni fa
jockk
X 0 X

Ti restituisce true o false perchè gli è stato detto così: {return true;} else{return false;}

Se metti return $somma allora ti restituisce il valore della somma.

 :bye:

risposto 9 anni fa
Marco Dario
X 0 X

<?php 

 $a="5";

  $b="10";

  $c="20";

  $d="30";       

  $scemo= calcola($a,$b,$c,$d);     

  function calcola($a,$b,$c,$d){if($somma=($a+$b+$c+$d)>20){return $somma;} else{return false;}

 }

print("la somma è di $scemo");

?>

Non è come dici.Anche sostituendo TRUE con $somma le funzione restituisce sempre 1 . Prova...

risposto 9 anni fa
jockk
X 0 X

Allora prova così:

  $a="5";
  $b="10";
  $c="20";
  $d="30";
          
function calcola($a,$b,$c,$d){

$somma=($a+$b+$c+$d);
if($somma > 20)
{
return $somma;
} 
else
{
return false;
}
}

$scemo= calcola($a,$b,$c,$d);   
print("la somma è di $scemo");

]

risposto 9 anni fa
Marco Dario
modificato 9 anni fa
X 0 X

Niente da fare,ho copiato quello che hai scritto ma la somma è sempre 1....

risposto 9 anni fa
jockk
X 0 X

$a+$b+$c+$d = "5102030"

quindi procedete per la soluzione! :D

risposto 9 anni fa
LonelyWolf
X 0 X

che vuol dire quel numero che hai scritto?

risposto 9 anni fa
jockk
X 0 X

Comunque non funziona,ho provato,nulla da fare.Sempre 1 come risultato.Mi sa che l'istruzione condizionale dentro la funzione non dà proprio risultato.L'unica cosa è chiudere la funzione  e creare un'istruzione condizionale al di fuori della funzione.. :(

risposto 9 anni fa
jockk
X 0 X

vuol dire che $somma=($a+$b+$c+$d); non è 65. (5+10+20+30)

E cmq ti sta sempre rispondendo che è vero!

risposto 9 anni fa
LonelyWolf
modificato 9 anni fa
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda