In questo capitolo ci occupiamo dei tipi di dato in php, che sono

  • Numeri interi
  • Numeri in virgola mobile
  • Stringhe
  • Valori Logici
  • Tipo null

 

I Tipi di Dato in PHP

I Tipo di Dato in PHP

Numeri Interi

I numeri interi in php sono i classici numeri che non hannno la virgola e vanno da -2.127.483.658 a +2147.483.657 che rappresenta la tipica lunghezza di un’architettua a 32 bit.

la lor assegnazione è molto semplice e si fa nel seguente modo

$numero = 21433232;

 

I numeri in virgola mobile

sono numeri dotati di decimali dopo la virgola e i loro valori possono variare nell’intervallo tipico dei double e la loro assegnazione è la seguente

$virgolamobile= 2134.15;

quindi si ottengono mettendo il punto per separare la parte intera dalla parte con la virgola.

Le stringhe in php

Si possono ottenere in due modi differenti dai singoli apici ai doppi apici. I doppii apici quando il valore contenuto all’interno della stringa rappresenta solamente il suo contenuto , mentre i singoli apici quando invece ad esempio si vuole visualizzare anche il contenuto di una variabile , cosi per esempio avremo che

print ('il contenuto della variabile è $i');

print ("il contenuto della variabile è $i");

 

stamperà rispettivamente a video

il contenuto della variabile è $i

il contenuto della variabile è 1

dove in questo caso 1 è il contenuto di $i.

Mentre nel caso si debbano utilizzare caratteri speciali all’interno delle stringhe è necessario utilizzare il caratttere backslash per cfar capire al motore di ricerca PHP la nostra intenzione. In particare, i caratteri speciali inseribili all’interno di una stringa sono

 

  • \’ Singolo apice valido solo in stringhe sdelimitate da singolo apice
  • \” Doppio apice valido solo in stringhe delimitate da doppio apice
  • \\ Backslash
  • \n New Line
  • \r Ritorno a capo
  • \t Tab orizzontale

I Valori boolenai

possono contenere soltanto due tipi di informazione che sono TRUE o FALSE. La loro assegnazione è

$valore = TRUE;

come se fosse un carattere intero.

In ogni tipo di logica o matematica avanzata non si puo’ fare a meno del tipo zero o valore nullo che in php è rappresento dal NULL. Per esempio

$nome=NULL;

se noi facciamo il print o l’echo di questa variabile nome , otterremo che non verrà visualizzato su schermo nulla.

 

Ci occupiamo adesso delle variabili in PHP, ossia di quei valori all’interno di un contenitore chiamato variabile, il cui contenuto puo’ appunto variare durante l’esecuzione del programma stesso.

Ma prima facciamo alcune precisazioni di sintassi in php

Il nome di ogni variabile deve iniziare con il carattere dollaro $

Il nome, oltre che dal carattere $, puo’ essere composto esclusivamente da lettere, umeri o caratteri di sotoolineatura o underscore

il primo carattere del nome dopo il carattere $ , non puo’ essere un numero..

Esistono due tipi fondamentali di variabili in php che sono per valore o per riferimento . Tipicamente sono valore, questo vuol dire che quando una variabile viene associata ad un’altra , nei fatti è solamente il suo valore che viene inserito nella zona di memoria referenziata dalla variabile di destinazione. Ossia se noi facciamo la seguente assegnazione

$destinatario =$mittente;

Una copia del contenuto della variabile mittente , viene messo dentro la variabile destinatario. Ma il php che ha molte analogie con il linguaggio C mette a sua disposizione anche le

variabili per riferimento.

Con questo metodo è possibile ottenere due variabili che puntano alla stessa zona di memoria, questo comportamento si ottiene grazie all’utilizzo dei cosidetti puntatori

$destinatario = &$mittente;

Con questo tipo di assegnazione al contrario di prima , non viene fatta una copia del valore e assegnata alla variabile destinatario, ma si ha la variabile mittente che punta allo stesso indirizzo della variabile destinatario, quindi se noi cambiamo il contenuto di mittente , il contenuto di memoria, essendo che l’altra variabile punta allo stesso indirzzo, cambiamo anceh il suo contenuto.

 

Ovviamente anche in php esistono le costanti , ossia quei contenuti di memoria che rimangono invariati durante tutta l’esecuzione del programma stesso. per dichiarare una costante si utilizza la seguente sintassi

 

define ("DATABASE_USER", "PROPRIO NOME");

dove database_user è il nome della variabile mentre proprio nome è il suo contenuto.

 

Vediamo un attimo quali sono le regole di conversione o casting in php, per regole di conversione si intende come sia possibile fare passare un tipo di variabile ad un altro tipo. Ad esempio se facciamo la seguente assegnazione

$numero=5;

abbiamo che numero assumerà un tipo di variabile intero , se invece facciamo la seguente assegnazione

 

$numero="valore cinque";

abbiamo che numero assumerà come tipo di valore una string

e se invece facessimo la seguente assegnazione

$numero = $numero + 5;

di che tipo sarà al termine di questa operazione la variabile numero?

Diciamo che qui sta una delle piu’ grosse lacune del php in quanto , in questo linguaggio ci si rifà ad una sorta di intelligenza che di fatto è affidata all’interprete stesso. Diciamo cosi’

Se numero è un valore intero allora alla fine otterremo un valore sicuramente intero, ma se invece numero è un valore di tipo stringa il discorso si complica non poco, facciamo un esempio.

Diciamo che

$numero ="Un valore a caso";

Allora se noi facciamo la seguente operazione

$numero =$numero + 5;

Otterremmo come risultato “Un valore a caso + 5″, ossia una stringa.

Se invece abbiamo che $numero =”125” ma cmq in formato stringa e facciamo la seguente operazione

$numero = $numero +5;

alla fine otteniamo una variabile di tipo intero che restituirà appunto il valore integer 130.

Questo tipo di casting , a prima vista abbastanza assurdo trova invece la sua piu’ completa applicazione quando si ha a che fare con i form in html, ossia con la ricezione dei dati da parte di un file html da parte di un file php. Facciamo un esempio, quando noi riceviamo da un form un dato tipo l’età che per forza di cosa noi siamo interessati a che si un integer,, noi riceviamo dal form xhtml pero’ un dato di tipo string a questo punto per fare la conversione che ci interessa non ci rimane che fare

$età = ($età + 1) -1