PHP/Programmazione/Variabili: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Corretto: "contenente"
m Update syntaxhighlight tags - remove use of deprecated <source> tags
Riga 8:
 
L'istruzione fondamentale che è possibile eseguire con una variabile è l<nowiki>'</nowiki>'''assegnazione''', che imposta (assegna) il valore contenuto dalla variabile. La sintassi è
<sourcesyntaxhighlight lang=php>$nome_var = valore</sourcesyntaxhighlight>
dove ''valore'' è un'espressione valida per PHP (per espressione si intende una sequenza di dati, [[PHP/Programmazione/Operatori|operatori]] e/o variabili che restituisca un valore). Sono ad esempio espressioni
<sourcesyntaxhighlight lang=php>3 //restituisce 3
3 + $var //restituisce il valore di $var sommato di 3.</sourcesyntaxhighlight>
 
Per fare riferimento ad una variabile e al suo valore sarà necessario semplicemente riferirsi al nome; si noti che PHP è case-sensitive, quindi <code>$var</code> e <code>$Var</code> sono due variabili differenti.
Questo script, ad esempio, stampa il valore di una variabile:
<sourcesyntaxhighlight lang=php>
<?php
$variabile = "valore della variabile";
echo "$variabile";
?>
</syntaxhighlight>
</source>
 
Da notare che l'istruzione echo non stampa ''$variabile'' ma il valore della variabile <code>$variabile</code>; sarebbe equivalente scrivere
<sourcesyntaxhighlight lang=php>echo $variabile;</sourcesyntaxhighlight>
Un'istruzione, invece, come
<sourcesyntaxhighlight lang=php>echo '$variabile';</sourcesyntaxhighlight>
stamperebbe ''$variabile'' (si notino gli apici e non le virgolette doppie).
 
=== Variabili per valore e per riferimento ===
Le variabili PHP sono solitamente passate per '''valore''': quando una variabile viene assegnata ad un'altra in realtà viene assegnato ad una variabile una copia del valore dell'altra, ma le due variabili identificano comunque due celle di memoria differenti. Ad esempio:
<sourcesyntaxhighlight lang=php>
$var1 = 3;
$var2 = $var1 //ora $var2 contiene il valore 3
$var2 = 4 //in questo caso non cambia il valore di $var1 ma solo quello di $var2
</syntaxhighlight>
</source>
 
Talvolta, soprattutto per quanto riguarda l'uso di funzioni, è comodo aver due variabili che puntino alla stessa cella di memoria. Per fare ciò si assegnano le '''variabili per riferimento''' usando la sintassi:
<sourcesyntaxhighlight lang=php>$var1 = &$var2</sourcesyntaxhighlight>
Ad esempio
<sourcesyntaxhighlight lang=php>$var1 = 3;
$var2 = &$var1 //ora $var2 e $var1 puntano alla stessa cella di memoria
$var2 = 4 //ora $var1 e $var2 contengono entrambe il valore 4</sourcesyntaxhighlight>
 
=== Costanti ===
Può essere comodo durante la programmazione definire valori '''costanti''' riutilizzabili nel codice. La differenza sostanziale tra costanti e variabili sta nel fatto che le prime, a differenza delle seconde, non possono essere modificate. Per definire una costante si usa la sintassi:
<sourcesyntaxhighlight lang=php>define("nome_costante", valore);</sourcesyntaxhighlight>
e per richiamarle si usa semplicemente il loro nome:
<sourcesyntaxhighlight lang=php>echo nome_costante;</sourcesyntaxhighlight>
 
Esistono alcune costanti predefinite, che sono valide cioè in tutti gli script:
Riga 96:
 
Esistono tuttavia numerose funzioni di conversione per trasformare un tipo di dato in un altro, che consistono nell'anteporre all'espressione in questione il nome del tipo di dato che si vuole ottenere tra parentesi. Ad esempio:
<sourcesyntaxhighlight lang=php>(int)(3.45 + 7.3)</sourcesyntaxhighlight>
restituisce ''10'', in quanto viene convertito un numero ''float'' in un intero secondo le regole di conversione. Allo stesso modo
<sourcesyntaxhighlight lang=php>(boolean)("questa è un'espressione stringa")</sourcesyntaxhighlight>
restituisce TRUE