Dans l’article précédent du Manuel PHP, nous avons commencé à expliquer comment travailler avec les variables dans ce langage. Nous avons déjà dit que PHP a un typage dynamique, mais il y a certaines choses que vous devrez peut-être faire quotidiennement et que vous devriez savoir pour couvrir les connaissances fondamentales des variables et des types de données en PHP.

PHP ne nous oblige pas à indiquer le type qu’une variable va contenir, mais le déduit de la valeur que nous lui attribuons. Il met aussi automatiquement à jour le type de la variable à chaque fois que nous lui attribuons une nouvelle valeur. C’est fondamentalement ce qu’on appelle le typage dynamique ou le typage faible, une fonctionnalité non seulement de PHP, mais de nombreux autres langages tels que JavaScript.

Par conséquent, pour changer le type d’une variable, nous lui attribuons simplement une valeur avec un nouveau type.

Dans cet article, nous verrons deux façons de changer le type variable, au-delà du comportement de typage dynamique de PHP. On parle alors de forcer le type de caractère

Comment changer ou forcer le type d’une variable en Php ?

Il n’est pas toujours recommandé de varier le type de données contenues dans une variable dans le temps, car si nous ne sommes pas certain de quel type de donnée stocke la variable les résultats peuvent être surprenant…

Afin d’éviter les problèmes, il peut être bon de forcer une variable à un type spécifique, d’une manière explicite, ce qui nous permettra de savoir que lorsque le flux du programme atteint un point donné, cette variable aura le type de données attendu. En PHP, il y a plusieurs façons de forcer une variable à un type.

Définir le type avec settype()

Nous pouvons forcer une variable à changer de type avec la fonction settype().

La variable retourne un booléen. C’est à dire « true » ou « false » si la mise à jour du type de la $variable a bien fonctionné.

Seules les valeurs ci-dessous peuvent être acceptée pour le deuxième paramètre de la fonction (à la place de « le type désiré » 😉 )

  • « boolean » ou « bool »
  • « integer » ou « int »
  • « float » ou « double »
  • « string »
  • « array »
  • « object »
  • « NULL »

Coulée de variables

Il y a une autre façon d’exécuter un forcé, de sorte qu’une variable se comporte comme un certain type. Maintenant nous allons voir un autre mécanisme de forçage qui est similaire à d’autres langages tels que C ou Java.

$variable = « 23 »; $variable = (int) $variable;

On ne peut utiliser que ces valeurs pour forcer les variables (certaines sont des alias mais donnent le même résultat) :

  • (int), (integer) va modifier la variable en un entier
  • (bool), (boolean) : va modifier la variable en un booléen
  • (float), (double), (real) : va modifier la variable en un décimal
  • (string) : va modifier la variable en une chaîne de caractère
  • (array) : va modifier la variable en un tableau
  • (object) : va modifier la variable en un objet
  • (unset) : modification en NULL

Conclusion

Si vous commencez avec PHP et la programmation en général, peut-être que ce sujet de changement de type et forcé peut sembler un peu avancé ou sans une application claire. Si c’est le cas, ne vous inquiétez pas trop pour l’instant, mais gardez à l’esprit que vous, en tant que programmeur, êtes capable de changer les types de variables, afin que vos programmes fassent exactement ce que vous voulez.

Quand il y a une incongruité des types de PHP, essayez toujours de faire ce qu’il faut avec le code qu’il exécute, mais pas toujours la solution qu’il faut, c’est ce que vous pourriez penser. Dans ces cas-là, le forcé sera vraiment important. Il ne fait aucun doute que lorsque vous aurez plus d’expérience avec la langue, ces situations apparaîtront.