Le PHP est un langage faiblement typé. Il permet au programmeur de ne pas se soucier du type de variables qu’il manipule (contrairement au Java et C# qui sont dits fortement typés). Si cela offre certaines facilités l’approche comporte toutefois certains pièges dont il vaut mieux être conscient.

Transtypage

On peut "typer" (type casting) une variable en utilisant la syntaxe suivante : 

Exemple 1

$num = (int) 10;

Exemple 2

$num = (int) 5.4;
echo $num;

Que va afficher le code ci-dessus ?

5 car c'est le résultat de la conversion du "flottant" 5.4

Types basiques

PHP supporte 10 types basiques.

4 types scalaires :

4 types composés :

Et finalement, 2 types spéciaux :

Tester le type d'une variable

gettype

Permet de récupérer le type d'une variable sous la forme d'une chaîne de caractères.

Signature :

gettype ( mixed $var ) : string 

Exemple :

echo gettype($value)

instanceof

Permet de vérifier si une variable est l'instance d'une classe. Ex : 

$obj = new A();

if ($obj instanceof A) {
   echo 'A';
}

Transtypage 

 

Concaténation ou addition ?

Si vous utilisez des variables de type numérique, il faudra utiliser l'opérateur "+" pour les additionner

Si vous utilisez des variables de type "chaîne de caractères", il faudra utiliser l'opérateur "." pour les concaténer.

Raccourcis

Comme dans beaucoup de languages informatiques les expressions suivantes sont équivalentes :

$fullname = $fullname  . $lastname;
$fullname .= $lastname;
$count = $count +1;
$count += 1;
$count ++;

Combiner des chaînes de caractères et des variables

https://www.droptica.com/blog/combining-string-literals-and-variables-php/