View Full Version : [PHP] - Delucidazione variabili locali, statiche e globali
tidusuper91
29-08-2009, 19:21
Salve, per esercitarmi con i primissimi capitoli di PHP studiati volevo creare un piccolo script di calcolo delle equazioni di secondo grado.
<?php
$a = $_GET[xquadro] ;
$b = $_GET[x] ;
$term = $_GET[term] ;
function calcola_delta($a, $b, $term)
{$delta = (bcpow($b,2,1) - 4*$a*$c) ;
} ;
calcola_delta ($a, $b, $term) ;
echo $delta . "<br //>";
echo $a . "<br //>" ;
echo $b . "<br //>" ;
echo $term . "<br //>" ;
var_dump($delta) ;
?>
Giustamente il var_dump di $delta mi dice che è NULL (essendo locale). Ma volendo portarla fuori non devo mettere static davanti a $delta? Se lo facccio non mi visualizza lo script..PErché
tidusuper91
30-08-2009, 01:50
UP
tidusuper91
30-08-2009, 17:03
<?php
$a = $_GET[xquadro] ;
$b = $_GET[x] ;
$term = $_GET[term] ;
function calcola_equaz($a, $b, $term)
{ $delta = (bcpow($b,2,1) - 4*$a*$term) ;
$sol1 = (-$b + sqrt($delta))/2*$a ;
$sol2 = (-$b - sqrt($delta))/2*$a ;
if ($delta < 0 )
{ echo 'Il delta è: ' . $delta . ' quindi la tua è un\'equazione <br />
non è risolvibile<br/>' ;
}
else if ($delta == 0)
{ echo 'Il delta è : ' . $delta . ' quindi le tue soluzioni sono<br />
coincidenti. Soluzione:<br/> ' . $sol1 . ' = ' .$sol2 ;
}
else
{ echo 'Hai due soluzioni: <br />
Soluzione #1: '. $sol1 .
'<br />Soluzione #2: ' . $sol2. '<br/>';
}
}
calcola_equaz($a, $b, $term) ;
?>
Così funziona perfettamente ma, come posso fare per rendere stampabile aschermo una variabile locale di una funzione?
tidusuper91
31-08-2009, 15:59
UPP
non ho capito il tuo problema. tu non puoi stampare a schermo niente con php, in locale. php funziona lato server :-|
anche se lavorassi in html+php tipo:
<p>ciao <?php echo $nome; ?>, come stai?</p> non funzionerebbe lo stesso in locale.
cioè installati un webserver tipo apache se vuoi provare php, se no ciao
tidusuper91
01-02-2010, 15:48
non ho capito il tuo problema. tu non puoi stampare a schermo niente con php, in locale. php funziona lato server :-|
anche se lavorassi in html+php tipo:
<p>ciao <?php echo $nome; ?>, come stai?</p> non funzionerebbe lo stesso in locale.
cioè installati un webserver tipo apache se vuoi provare php, se no ciao
si supponeva che avessi già installato in locale il PHP e il webserver apache. -.- Funziona infatti... Solo che non riuscivo a stampare la variabile locale.
se ti interessa, come in questo caso, solamente un risultato di un'operazione effettuata da una funzione ti conviene far restituire il valore da quella funzione. Chiudi cioè la funzione calcola_equaz con un bel
function calcola_equaz($a, $b, $term) {
// tutto il corpo della funzione qui
return $delta;
}
e nel codice la richami come
$risultato = calcola_equaz($a, $b, $term);
all'interno di $risultato avrai proprio il valore di $delta
tidusuper91
02-02-2010, 00:12
se ti interessa, come in questo caso, solamente un risultato di un'operazione effettuata da una funzione ti conviene far restituire il valore da quella funzione. Chiudi cioè la funzione calcola_equaz con un bel
function calcola_equaz($a, $b, $term) {
// tutto il corpo della funzione qui
return $delta;
}
e nel codice la richami come
$risultato = calcola_equaz($a, $b, $term);
all'interno di $risultato avrai proprio il valore di $delta
Chiarissimo. Grazie mille.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.