06. Tipi di dato

PHP non è un linguaggio fortemente tipizzato come il C++, ma è molto più flessibile come ad esempio un linguaggio di scripting, quali JavaScript, ActionScript ecc...

Questo significa che se noi assegniamo un valore intero ad una variabile, possiamo assegnargli subito dopo una stringa, o ancora un valore booleano, senza incorrere in alcun errore.

Il linguaggio ci fornisce diversi Tipi di dato molto utili.
Vediamo una lista di tutti i tipi di base per poi approfondirli singolarmente

  • Interi - es. 10 / 50000 / -200 / 06333 / 0xFF
  • Virgola mobile - es. 1.5 / 50.72 / 0.7e-5 / -100.3 / 61.2A14
  • Stringhe - es. "stringa" / "ciao" / 'pippo' / "54746"
  • Booleani - es. true / false
  • Null - es. NULL
  • Costanti - es. define("COSTANTE", 150); / COSTANTE
  • Array - es. $array[0] / $podio["primo"] / $tabella[5]["cognome"]

Gli interi sono tutti i numeri non decimali come 1, 10, 3965, compresi fra -2,147,483,648 e 2,147,483,647.

I numeri a virgola mobile, invece, rappresentano i numeri decimali compresi fra 1.7E-308 e 1.7E+308, il che significa che hanno una precisione di 15 cifre dopo la virgola.

Caratteri di escape

Le stringhe sono insiemi di caratteri racchiusi fra apici o doppi apici.
Di conseguenza "minnie" e 'paperino313' sono da considerarsi stringhe.
Per far sì che le stringhe possano contenere, ad esempio, i caratteri speciali usati dalla sintassi del PHP, è necessario utilizzare i Caratteri di escape.

Di seguito un esempio :

$x = 5;
echo "Questo è il valore di $x : $x";
// stampa : Questo è il valore di 5 : 5
echo "Questo è il valore di \$x : $x";
// stampa : Questo è il valore di $x : 5

I caratteri di escape quindi, sono dei caratteri speciali preceduti da un Backslash \.
Di seguito una tabella di tutti i caratteri di escape che PHP ci fornisce :

Carattere di Escape Rappresentazione del carattere
\" Stampa i doppi apici "
\n Va a capo e manda indietro il cursore (newline)
\r Va a capo senza far tornare indietro il cursore (Carriage return)
\t Carattere di tabulazione (Tab)
\\ Stampa un Backslash \
\$ Stampa il simbolo del Dollaro $
\{ Stampa la parentesi graffa {
\} Stampa la parentesi graffa }
\[ Stampa la parentesi quadra [
\] Stampa la parentesi quadra ]
\0 Carattere ASCII che rappesenza i valori in base ottale (8)
\x0 Carattere ASCII che rappesenza i valori in base esadecimale (16)

I valori Booleani possono assumere solo due valori : true (ossia 1) o false (ossia 0).
Vengono usati spesso nelle strutture di controllo come la IF o come valori di ritorno delle funzioni.

$approvato = false;

if ($approvato)
	echo "Utente approvato!";
else
	echo "Utente non approvato!";

//stamperà : Utente non approvato!

Le variabili inoltre, possono assumere il valore NULL. La parola chiave non è Case sensitive e potete quindi scriverla come volete.
Il tipo di dato NULL serve a rappresentare una variabile vuota, senza valore.

$variabile = NULL;
if (empty($variabile))
	echo "Variabile vuota";
else
	echo "Variabile piena";

// stamperà : Variabile vuota

Nel prossimo capitolo vedremo le Costanti.