WallPapers

Amazon Books

Driver Image Banner 728 x 90

Il PHP fornisce tre tipi di dato primitivi ( o scalari). I tipi scalari sono i valori booleani, i numeri interi, i numeri in virgola mobile ( o reali) e le stringhe.

Inoltre sono presenti anche due tipi di dato composti : gli array e gli oggetti.

Tipi di dati in PHP


 

Il PHP fornisce tre tipi di dato primitivi ( o scalari). I tipi scalari sono i valori booleani, i numeri interi, i numeri in virgola mobile ( o reali) e le stringhe.

Inoltre sono presenti anche due tipi di dato composti : gli array e gli oggetti.

 

Interi

Il tipo integer (o indifferentemente long e int) rappresenta i numeri interi. L'intervallo degli interi, in PHP, è equivalente a quello del C. Gli interi, su macchine a 32 bit , si estendono da -2.147.483.648 a +2.147.483.647. Se si ha un superamento dell'intervallo, il PHP converte automaticamente i valori più grandi in numeri in virgola mobile.

Un intero può essere espresso come decimale ( a base 10), esadecimale ( a base 16), ottale ( a base 8).

Esempio:

$int_decimale = 16;

$int_esadecimale = 0x10;

$int_ottale = 020;

Per verificare se una variabile è di tipo int si possono usare le funzioni is_long() e gettype().

La funzione is_long (o le equivalenti is_integer() e is_int()), restituisce TRUE se l'argomento passato è una variabile di tipo intero, falso in caso contrario.

La funzione gettype(), nel caso di variabili intere restituisce la stringa integer.

Per convertire una espressione in un numero intero è possibile usare la funzione intval() o ricorrere al casting.

 

Numeri in virgola mobile

I numeri in virgola mobile, nel PHP, rappresentano i decimali e corrispondono al tipo double del C.

Nella gran parte delle piattaforme il tipo double si estende da 1.7E-308 a 1.7E+308.

Un double può essere espresso sia come un normale numero con un punto decimale sia in notazione scientifica.

 

Esempio:

$var = 0.031;

$var= 31.0E-3;

Per verificare se una variabile è di tipo double si possono utilizzare le funzioni is_double() e gettype(). is_double() (o gli equivalenti is_float() e is_real()) restituisce vero se la variabile passata è in virgola mobile e falso nel caso contrario. La funzione gettype() restituisce la stringa double.

Per convertire una espressione in un numero in virgola mobile è possibile usare la funzione doubleval() o ricorrere al casting.

Occorre notare che il PHP possiede anche un insieme di funzioni note come funzioni BC (Binary Calculator, calcolatore binario), che possono manipolare numeri in precisione arbitraria. Se si trattano numeri molto grandi o che richiedano un alto grado di precisione, occorre utilizzare queste funzioni.

 

 

Stringhe

Una stringa, corrispondente al tipo string in PHP, è una sequenza di caratteri, eventualmente vuota delimitata da apici o virgolette.

Esempio:

$titolo = “Corso Base di PHP”; # stringa valorizzata delimitata dsa virgolette

$stringa_vuota = “”; stringa vuota delimitata da virgolette

$stringa_tra_apici = 'sono tra apici' # stringa delimitata da apici

Le stringhe delimitate da virgolette sono soggette alla sostituzione di variabili ed alla elaborazione delle sequenze di escape, mentre le stringhe delimitate da apici non lo sono.

Esempio:

$testo = “Italia”

echo “Ciao\t$testo\n”;

questo mostra “Ciao” seguito da una tabulazione e quindi “Italia” seguito da un carattere di newline; in sostanza mostra “Ciao Italia” sostituendo le sequenze di escape nei caratteri corrispondenti ed effettuando la sostituzione della variabile $a con il suo contenuto .

Ora si confronti la precedente espressione con la seguente:

echo 'Ciao\t$testo\n';

in questo caso l'output è esattamente “Ciao\t$testo\n” senza sostituzione di variabili ed interpretazione delle sequenze di escape.

Nella tabella successiva vengono mostrate le sequenze di escape comprese dal PHP.

 

 

Sequenza di escape

 

 

significato

 

\n

Nuova linea (newline)

\t

Tabulazione

\r

Ritorno carrello (carriage return)

\\

backslash

\$

dollaro

 

La lunghezza di una stringa è il numero dei caratteri che la compongono; la funzione strlen() ci fornisce la lunghezza della stringa.

La funzione per verificare se una data variabile è una stringa è is_string(), che restituisce vero se l'argomento passato è una variabile di tipo string e falso in caso contrario.

La funzione gettype() data una variabile di tipo stringa restituisce il valore string.

Per convertire una espressione in una stringa è possibile usare la funzione strval()

o ricorrere al casting.

Array

Un array è un tipo di dato composto che può contenere pìù di un valore,i dati contenuti nell'array possono essere indicizzati sia numericamente (in base alla loro posizione nell'array) sia con stringhe.

In altri termini un array è un vettore di elementi, cioè una collezione di valori individuati da un nome (come avviene per una qualsiasi variabile) e da un indice.

L'indice può essere un numero intero oppure una stringa; in questo secondo caso l'array si dice associativo.

 

Indice numerico

 

 

Valore associato

 

 

 

 

 

Indice stringa

 

 

Valore associato

 

0

mele

 

Nome

Mario

1

pere

 

Cognome

Rossi

2

banane

 

Capelli

Mori

3

meloni

 

Occhi

neri

Array ad indice numerico

 

Array ad indice associativo

Esempi di array ad indice numerico e ad indice associativo

 

 

Un array può essere creato in diversi modi. Il modo più immediato è quello implicito che si realizza aggiungendo elementi all' array.

Esempio

$lista[] = “uno”;

$lista[] = “due”;

oppure

$var[0] = 1;

$var[1] = 2;

etc,

Un altro modo per creare un array è mediante il costrutto array()

$animali_domestici = array(“cane”,”gatto”,”gallina”,”bue”);

Contrariamente a quanto avviene in altri linguaggi di programmazione, in PHP gli elementi di un array possono essere di tipi diversi.

$esempio_misto = array(“Pippo”, TRUE, 2.16,array(4,5,8,10));

in $esempio_misto abbiamo un array composto da 4 elementi di diverso tipo, una stringa, un valore booleano, un valore a virgola mobile, ed un array.

L'accesso all'elemento di un array avviene specificando il nome dell' array seguito dall' indice dell'elemento tra parentesi quadre.

Nel caso di un indice numerico occorre tener presente che il primo elemento dell'array ha indice zero.

Gli array possono essere indicizzati anche utilizzando stringhe; questo tipo di array sono chiamati array associativi

$mesi[“gennaio”]=1;

$mesi[“febbraio”]=2;

$mesi[“marzo”]=3;

In effetti, è possibile utilizzare una combinazione di indici numerici e stringa in un singolo array. Ciò è possibile perchè il PHP tratta internamente tutti gli array come tabelle hash e l' hash, o indice, può essere qualsiasi cosa.

Per verificare se una data variabile è un array si possono utilizzare le funzioni is_array() e gettype():

is_array() data una variabile restituisce vero se è un array e falso altrimenti;

la funzione gettype(), data una variabile di tipo array restituisce la stringa array.

Oggetti

Un oggetto è un tipo di dato composto che può contenere qualsiasi numero di variabili o di funzioni.

Esiste pertanto un tipo object che caratterizza le istanze di classi PHP.

Le funzioni che permettono di stabilire se una determinata variabile è di tipo object sono is_object() che restituisce vero se la variabile presa in esame è un oggetto e falso in caso contrario, e gettype(), che data una variabile restituisce la stringa object .

Booleani

Ogni valore in PHP ha associato un valore di verità booleana (true o false) che viene utilizzato nelle strutture di controllo come if/else e for.

Il valore booleano associato con un valore di dato è determinato nel seguente modo:

  • per un intero o un valore in virgola mobile, il valore 0 (zero) è false altrimenti è vero (true);
  • per una stringa, il valore booleano è false se la stringa è vuota altrimenti e true;
  • per un array, il valore booleano è false se l' array è vuoto altrimenti è true;
  • per un oggetto, il valore booleano è false se l'oggetto non ha variabili definite o funzioni, altrimenti è true
  • per un oggetto non definito (una variabile che non è stata proprio definita), il valore booleano è false.

 

 

 

Il tipo di dato bool è stato introdotto con il PHP versione 4

esempio

// creo due variabili di tipo booleano

$vero = TRUE;

$falso = FALSE;

TRUE rappresenta il valore intero 1 e FALSE la stringa vuota.

Le funzioni per stabilire se una variabile è di tipo booleano sono is_bool() e gettype() .

Se la variabile data è booleana is_bool() restituisce vero altrimenti restituisce falso.

Data una variabile booleana la stringa restituita da gettype() è boolean.

Casting e conversioni di tipo

Come abbiamo già detto in PHP non è necessario dichiarare esplicitamente il tipo delle variabili.

Il PHP definisce il tipo quando una variabile è utilizzata la prima volta in uno script, anche se è possibile specificarlo in modo esplicito utilizzando un casting in stile C.

per esempio

$varia = (int) “7456stringa”;

In questo esempio, senza (int), il PHP creerebbe una variabile stringa. Con il cast esplicito si è creata una variabile intera , con il valore di 7456.

La tabella che segue mostra gli operatori di cast disponibili in PHP