Corso di PHP

I tipi di dato

 

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 all’interno 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 l’intero 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 l’apice 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 l’operatore 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 l’assegnazione 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ì l’istruzione

$a = 3 + “3.3”;

assegnerà alla variabile $a il valore floating point 6.3, mentre l’istruzione

$a = 3 + “10”;

assegnerà alla variabile $a il valore intero 13.

La conversione avrà effetto anche sulle stringhe contenti caratteri dell’alfabeto prendendo in considerazione solo la prima parte della stringa nel caso in cui questa sia formata da caratteri numerici. Cosi l’istruzione

$a = 3 + “3 porcellini”;

assegnerà alla variabile $a il valore intero 6, mentre l’istruzione

$a = 3 + “I 7 nani”;

assegnerà alla variabile $a il valore 3. Anche l’istruzione

$a = 3 + “Mike Bongiorno”;

risulta essere un’istruzione 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 nell’intero 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