Una variabile può contenere diversi tipi di valori, ognuno dei quali ha un comportamento ed un'utilità differente. Analizzeremo brevemente i tipi di dato che PHP permette di utilizzare all'interno del proprio codice premettendo che PHP, a differenza di altri linguaggi, associa il tipo di dato al valore e non alla variabile (ad esempio possiamo assegnare alla stessa variabile una stringa e poi un numero senza incorrere in alcun errore) ed effettua conversioni automatiche dei valori nel momento in cui siano richiesti tipi di dato differenti (ad esempio in un'espressione).
Valore booleano
I tipi di dato boolean servono per indicare i valori vero o falso all'interno di espressioni logiche. Il tipo booleano è associato alle variabili che contengono il risultato di un'espressione booleana oppure i valori true e false. Vediamo un rapido esempio:$vero = true; $falso = false; ?>
Intero
Un numero intero, positivo o negativo, il cui valore massimo (assoluto) può variare in base al sistema operativo su cui gira PHP, ma che generalmente si può considerare, per ricordarlo facilmente, di circa 2 miliardi (2 elevato alla 31esima potenza).$int1 = 129; $int2 = -715; $int3 = 5 * 8; //$int3 vale 40 ?>
Virgola mobile
Un numero decimale (a volte citato come "double" o "real"). Attenzione: per indicare i decimali non si usa la virgola, ma il punto. Anche in questo caso la dimensione massima dipende dalla piattaforma. Normalmente comunque si considera un massimo di circa 1.8e308 con una precisione di 14 cifre decimali. Si possono utilizzare le seguenti sintassi:$vm1 = 4.153; // 4,153 $vm2 = 3.2e5; // 3,2 * 10^5, cioè 320.000 $vm3 = 4E-8; // 4 * 10^-8, cioè 4/100.000.000 = 0,00000004 ?>
Stringa
Una stringa è un qualsiasi insieme di caratteri, senza limitazione normalmente contenuto all'interno di una coppia di apici doppi o apici singoli. Le stringhe delimitate da apici sono la forma più semplice, consigliata quando all'interno della stringa non vi sono variabili di cui vogliamo ricavare il valore:$frase = 'Anna disse: "Ciao a tutti!" ma nessuno rispose'; echo $frase; ?>
$nome = 'Anna'; echo "$nome è simpatica... a pochi"; // stampa: Anna è simpatica... a pochi echo '$nome è simpatica... a pochi'; // stampa: $nome è simpatica... a pochi echo "{$nome} è simpatica a pochi"; // è una sintassi alternativa, con lo stesso effetto della prima ?>
echo 'Torniamo un\'altra volta'; // stampa: Torniamo un'altra volta echo "Torniamo un'altra volta"; // stampa: Torniamo un'altra volta echo "Torniamo un\'altra volta"; // stampa: Torniamo un\'altra volta echo 'Torniamo un'altra volta'; // causa un errore, perchè l'apostrofo viene scambiato per l'apice di chiusura echo 'Anna disse "Ciao" e se ne andò'; // stampa: Anna disse "Ciao" e se ne andò echo "Anna disse \"Ciao\" e se ne andò"; // stampa: Anna disse "Ciao" e se ne andò echo 'Anna disse \"Ciao\" e se ne andò'; // stampa: Anna disse \"Ciao\" e se ne andò echo "Anna disse "Ciao" e se ne andò"; // errore ?>
echo "Questo: \"\\\" è un backslash"; // stampa: Questo: "\" è un backslash echo 'Questo: \'\\\' è un backslash'); // stampa: Questo: '\' è un backslash echo "Questo: '\' è un backslash"); // stampa: Questo: '\' è un backslash echo "Questo: '\\' è un backslash"); // stampa: Questo: '\' è un backslash ?>
Passiamo ad esaminare l'ultimo modo di rappresentare le stringhe: la sintassi heredoc, poco utilizzata se non in situazioni nelle quali è necessario specificare stringhe molto lunghe. Questa ci consente di delimitare una stringa con i caratteri
<<<
seguiti da un identificatore (in genere si usa EOD
,
ma è solo una convenzione: è possibile utilizzare qualsiasi stringa
composta di caratteri alfanumerici e underscore, di cui il primo
carattere deve essere non numerico: la stessa regola dei nomi di
variabile). Tutto ciò che segue questo delimitatore viene considerato
parte della stringa, fino a quando non viene ripetuto l'identificatore
seguito da un punto e virgola. Attenzione: l'identificatore di chiusura
deve occupare una riga a sè stante, deve iniziare a colonna 1 e non deve
contenere nessun altro carattere (nemmeno spazi vuoti) dopo il punto e
virgola.$nome = "Paolo"; $stringa = <<Il mio nome è $nome EOD; echo $stringa; ?>
heredoc
risolve i nomi di variabile così come le virgolette. Rispetto a queste
ultime, con questa sintassi abbiamo il vantaggio di poter includere
delle virgolette nella stringa senza farne l'escape:$frase = "ciao a tutti"; $stringa = <<Il mio saluto è "$frase" EOT; echo $stringa; ?>
Array
Possiamo considerare un array come una variabile complessa, che contiene una serie di valori, ciascuno dei quali caratterizzato da una chiave, o indice che lo identifica univocamente. Facciamo un primo esempio, definendo un array composto di cinque valori:$colori = array('bianco', 'nero', 'giallo', 'verde', 'rosso');
echo $colori[1]; // stampa 'nero' echo $colori[4]; // stampa 'rosso'
0 commenti:
Posta un commento
Proponi un'idea, segnalaci un problema.
Entra a far parte di CS3, pubblica i tuoi articoli.
Scrivi un commento!