Per poter programmare efficientemente è necessario conoscere i
tipi di dato a nostra disposizione. Scopo delle prossime lezioni
sarà, appunto indagare questo aspetto di PHP. Esso offre la seguente
scelta:
- Interi.
- Floting point (ossia numeri in virgola mobile).
- Stringhe.
- Array.
- Oggetti.
Prima di esaminare le caratteristiche di ognuno di questi tipi,
diciamo subito che le variabili di PHP non necessitano di essere
dichiarate, e quindi possono assumere qualunque valore valido di
uno dei tipi appena elencati. Una variabile PHP può, inoltre, cambiare
di tipo allinterno dello stesso codice PHP. Ovvero le assegnazioni
<?php
$a = 123; //assegniamo alla variabile $a un valore intero
$a = abc; //assegniamo alla variabile $a una stringa
?>
non causeranno alcun errore.
Facciamo notare, per inciso, che una variabile PHP deve essere
necessariamente indicata dal simbolo dollaro ($) seguito
dal nome della variabile. I nomi delle variabili sono case sensitive,
cioè la variabile $a e diversa dalla variabile $A.
Interi
Il tipo intero può avere quattro formati differenti:
1234 decimale.
1234 decimale negativo.
01234 ottale (o numero in base 8).
0x1234 esadecimale (o numero in base 16)
La dimensione massima di un intero è fissata dalla piattaforma.
Floating point
Per il tipo floating point esistono due diverse notazioni:
1) 1.234 in virgola
2) 1.23e4 esponenziale
Anche per questo tipo la dimensione massima dipende dalla piattaforma
utilizzata.
Stringhe
Le stringhe PHP sono delimitate tra doppi apici (),
singoli apici () o assegnati tramite i caratteri «<.
Questa ultima modalità è stata introdotta con PHP 4. Eccone un esempio
pratico:
$a= «< miastringa
Ciao mondo!
Sono una pagina PHP!
miastringa;
Il frammento di codice appena visto assegnerà alla variabile $a
lintero testo presente tra i delimitatori miastringa
e miastringa;.
Se si usa la notazione tra doppi apici è possibile utilizzare i
seguenti caratteri speciali:
- \r per il ritorno a capo.
- \n per una nuova linea.
- \ per i doppi apici.
- \\ per il backslash.
- \t per il tab orizzontale.
- \$ per il simbolo $.
- \[0-7]{1,3} per convertire di posto indicato dagli indici
tra parentesi graffe in ottali.
- \x[0-9A-Fa-f]{1,2} per convertire di posto indicato dagli
indici tra parentesi graffe in esadecimali.
Mentre per la notazione tra singoli apici sono presenti solamente
due caratteri speciali \\, per indicare il backslash, e \,
per lapice singolo.
Importante: i caratteri speciali figureranno nel codice
HTML. Per esempio la sequenza \n produrrà un codice HTML in cui
è presente una nuova linea, ma non è detto che la nuova linea
debba comparire nella pagina visualizzate da browser.
Segnaliamo che loperatore punto (.) effettua la concatenazione
tra stringhe diverse e che è possibile accedere ad un singolo carattere
di una stringa trattandola come un array indicizzato numericamente.
Di conseguenza la sequenza di istruzioni
<?php
$str = Pippo Baudo;
$char = $str[0];
?>
avrà come effetto lassegnazione alla variabile $char
del carattere P.
È possibile inoltre effettuare una conversione automatica di
una stringa in un valore numerico. La conversione ritornerà una
variabile numerica di tipo floating point se la stringa contiene
i caratteti punto (.), virgola (,), e oppure
E; ritornerà una variabile numerica di tipo intero
altrimenti. Così listruzione
$a = 3 + 3.3;
assegnerà alla variabile $a il valore floating point 6.3,
mentre listruzione
$a = 3 + 10;
assegnerà alla variabile $a il valore intero 13.
La conversione avrà effetto anche sulle stringhe contenti caratteri
dellalfabeto prendendo in considerazione solo la prima parte
della stringa nel caso in cui questa sia formata da caratteri numerici.
Cosi listruzione
$a = 3 + 3 porcellini;
assegnerà alla variabile $a il valore intero 6, mentre
listruzione
$a = 3 + I 7 nani;
assegnerà alla variabile $a il valore 3. Anche listruzione
$a = 3 + Mike Bongiorno;
risulta essere unistruzione valida, ma parimenti alla precedente
assegnerà alla variabile $a il valore intero.3. Possiamo
quindi affermare che le stringhe il cui primo carattere non è una
cifra numerica vengono convertiti nellintero 0.
Con questo abbiamo concluso la parte di teoria riguardante le stringhe.
Nel seguito esamineremo le numerose funzioni messe a disposizione
del programmatore PHP per la loro manipolazione, mentre cominceremo
la prossima lezione trattando gli array.
Torna all'indice Generale del corso di Corso di PHP di Software Planet