Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-08-2009, 18:21   #1
tidusuper91
Senior Member
 
L'Avatar di tidusuper91
 
Iscritto dal: Jun 2006
Città: Roccaraso (AQ) ~ Milano
Messaggi: 1355
[PHP] - Delucidazione variabili locali, statiche e globali

Salve, per esercitarmi con i primissimi capitoli di PHP studiati volevo creare un piccolo script di calcolo delle equazioni di secondo grado.

Codice:
<?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é
__________________

PS4 - xBox360 - ATIsupporter - MBP 15" i7 - Honor 8 - Surface Pro 128Gb
tidusuper91 è offline   Rispondi citando il messaggio o parte di esso
Old 30-08-2009, 00:50   #2
tidusuper91
Senior Member
 
L'Avatar di tidusuper91
 
Iscritto dal: Jun 2006
Città: Roccaraso (AQ) ~ Milano
Messaggi: 1355
UP
__________________

PS4 - xBox360 - ATIsupporter - MBP 15" i7 - Honor 8 - Surface Pro 128Gb
tidusuper91 è offline   Rispondi citando il messaggio o parte di esso
Old 30-08-2009, 16:03   #3
tidusuper91
Senior Member
 
L'Avatar di tidusuper91
 
Iscritto dal: Jun 2006
Città: Roccaraso (AQ) ~ Milano
Messaggi: 1355
Codice:
<?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?
__________________

PS4 - xBox360 - ATIsupporter - MBP 15" i7 - Honor 8 - Surface Pro 128Gb
tidusuper91 è offline   Rispondi citando il messaggio o parte di esso
Old 31-08-2009, 14:59   #4
tidusuper91
Senior Member
 
L'Avatar di tidusuper91
 
Iscritto dal: Jun 2006
Città: Roccaraso (AQ) ~ Milano
Messaggi: 1355
UPP
__________________

PS4 - xBox360 - ATIsupporter - MBP 15" i7 - Honor 8 - Surface Pro 128Gb
tidusuper91 è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2009, 20:15   #5
IAmZak
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 654
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:
Codice:
<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
__________________
Macbook Pro 15'' Mid 2015
IAmZak è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2010, 14:48   #6
tidusuper91
Senior Member
 
L'Avatar di tidusuper91
 
Iscritto dal: Jun 2006
Città: Roccaraso (AQ) ~ Milano
Messaggi: 1355
Quote:
Originariamente inviato da IAmZak Guarda i messaggi
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:
Codice:
<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.
__________________

PS4 - xBox360 - ATIsupporter - MBP 15" i7 - Honor 8 - Surface Pro 128Gb
tidusuper91 è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2010, 22:26   #7
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
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

Codice:
function calcola_equaz($a, $b, $term) {
  // tutto il corpo della funzione qui
  return $delta;
}
e nel codice la richami come

Codice:
$risultato = calcola_equaz($a, $b, $term);
all'interno di $risultato avrai proprio il valore di $delta
Torav è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2010, 23:12   #8
tidusuper91
Senior Member
 
L'Avatar di tidusuper91
 
Iscritto dal: Jun 2006
Città: Roccaraso (AQ) ~ Milano
Messaggi: 1355
Quote:
Originariamente inviato da Torav Guarda i messaggi
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

Codice:
function calcola_equaz($a, $b, $term) {
  // tutto il corpo della funzione qui
  return $delta;
}
e nel codice la richami come

Codice:
$risultato = calcola_equaz($a, $b, $term);
all'interno di $risultato avrai proprio il valore di $delta
Chiarissimo. Grazie mille.
__________________

PS4 - xBox360 - ATIsupporter - MBP 15" i7 - Honor 8 - Surface Pro 128Gb
tidusuper91 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:24.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v