Ogni singola espressione in PHP ha uno dei seguenti tipi predefiniti a seconda del suo valore: null bool int float (numero in virgola mobile) string array object callable resource
PHP è un linguaggio tipizzato dinamicamente, il che significa che per impostazione predefinita non è necessario specificare il tipo di una variabile, poiché questo verrà determinato in fase di esecuzione. Tuttavia, è possibile tipizzare staticamente alcuni aspetti del linguaggio tramite l'uso delle dichiarazioni dei tipi. I diversi tipi supportati dal sistema di tipi di PHP possono essere trovati nella pagina sistema di tipi.
I tipi limitano il genere di operazioni che possono essere eseguite su di essi. Tuttavia, se un'espressione/variabile viene utilizzata in un'operazione che il suo tipo non supporta, PHP tenterà di effettuare il type juggle del valore in un tipo che supporta l'operazione. Questo processo dipende dal contesto in cui viene utilizzato il valore. Per ulteriori informazioni, vedere la sezione Type Juggling.
Per controllare il valore e il tipo di un'
espressione,
si usa la funzione var_dump.
Per recuperare il tipo di un'
espressione,
si usa la funzione get_debug_type.
Tuttavia, per controllare se un'espressione è di un certo tipo si usano
invece le funzioni is_type.
<?php
$a_bool = true; // un booleano
$a_str = "foo"; // una stringa
$a_str2 = 'foo'; // una stringa
$an_int = 12; // un intero
echo get_debug_type($a_bool), "\n";
echo get_debug_type($a_str), "\n";
// Se è un intero, incrementalo di quattro
if (is_int($an_int)) {
$an_int += 4;
}
var_dump($an_int);
// Se $a_bool è una stringa, stampala a video
if (is_string($a_bool)) {
echo "Stringa: $a_bool";
}
?>
Example outputs 8
bool
string
int(16)