PHP Conversion de Type
Conversion de Type PHP
La conversion de type en PHP est un processus explicite qui permet de transformer une valeur d'un type de données à un autre, par exemple d'un float à un entier.
Cela donne au développeur un contrôle direct sur le type de données d'une variable.
Pour convertir une variable, il suffit de placer le type de conversion entre parenthèses avant la variable ou la valeur que vous souhaitez modifier.
Les opérateurs de conversion en PHP sont :
-
(string)- Convertit en type de données String -
(int)- Convertit en type de données Integer -
(float)- Convertit en type de données Float -
(bool)- Convertit en type de données Boolean -
(array)- Convertit en type de données Array -
(object)- Convertit en type de données Object -
(unset)- Obsolète. Convertit en type de données NULL
Conversion en String
Pour convertir en type de données string : utilisez (string) avant la variable ou la valeur à convertir :
Exemple
$a = 5; // Integer $b = 5.34; // Float $c = "hello"; // String $d = true; // Boolean $e = NULL; // NULL $a = (string) $a; $b = (string) $b; $c = (string) $c; $d = (string) $d; $e = (string) $e; // Utilisez var_dump() pour vérifier le type de données var_dump($a); var_dump($b); var_dump($c); var_dump($d); var_dump($e); Conversion en Integer
Pour convertir en type de données integer : utilisez (int) avant la variable ou la valeur à convertir :
Exemple
$a = 5; // Integer $b = 5.34; // Float $c = "25 km"; // String $d = "km 25"; // String $e = "hello"; // String $f = true; // Boolean $g = NULL; // NULL $a = (int) $a; $b = (int) $b; $c = (int) $c; $d = (int) $d; $e = (int) $e; $f = (int) $f; $g = (int) $g; Conversion en Float
Pour convertir en type de données float : utilisez (float) avant la variable ou la valeur à convertir :
Exemple
$a = 5; // Integer $b = 5.34; // Float $c = "25 km"; // String $d = "km 25"; // String $e = "hello"; // String $f = true; // Boolean $g = NULL; // NULL $a = (float) $a; $b = (float) $b; $c = (float) $c; $d = (float) $d; $e = (float) $e; $f = (float) $f; $g = (float) $g; Conversion en Boolean
Pour convertir en type de données boolean : utilisez (bool) avant la variable ou la valeur à convertir :
Exemple
$a = 5; // Integer $b = 5.34; // Float $c = 0; // Integer $d = -1; // Integer $e = 0.1; // Float $f = "hello"; // String $g = ""; // String $h = true; // Boolean $i = NULL; // NULL $a = (bool) $a; $b = (bool) $b; $c = (bool) $c; $d = (bool) $d; $e = (bool) $e; $f = (bool) $f; $g = (bool) $g; $h = (bool) $h; $i = (bool) $i; Si une valeur est 0, NULL, false ou vide, (bool) la convertit en false, sinon en true. Même -1 se convertit en true.
Conversion en Array
Pour convertir en type de données array : utilisez (array) avant la variable ou la valeur à convertir :
Exemple
$a = 5; // Integer $b = 5.34; // Float $c = "hello"; // String $d = true; // Boolean $e = NULL; // NULL $a = (array) $a; $b = (array) $b; $c = (array) $c; $d = (array) $d; $e = (array) $e; Lors de la conversion en tableau, la plupart des types de données se transforment en un tableau indexé avec un seul élément.
Les valeurs NULL se convertissent en un tableau vide.
Un objet se transforme en un tableau associatif où les noms des propriétés deviennent les clés et les valeurs des propriétés deviennent les valeurs :
Exemple
Convertir un objet en tableau :
class Car { public $color; public $model; public function __construct($color, $model) { $this->color = $color; $this->model = $model; } public function message() { return "Ma voiture est une " . $this->color . " " . $this->model . "!"; } } $myCar = new Car("rouge", "Volvo"); $myCar = (array) $myCar; var_dump($myCar); Conversion en Object
Pour convertir en type de données object : utilisez (object) avant la variable ou la valeur à convertir :
Exemple
$a = 5; // Integer $b = 5.34; // Float $c = "hello"; // String $d = true; // Boolean $e = NULL; // NULL $a = (object) $a; $b = (object) $b; $c = (object) $c; $d = (object) $d; $e = (object) $e; Lors de la conversion en objet, la plupart des types de données se transforment en un objet avec une propriété nommée "scalar", contenant la valeur correspondante.
Les valeurs NULL se convertissent en un objet vide.
Les tableaux indexés se transforment en objets avec le numéro d'index comme nom de propriété et la valeur comme valeur de propriété.
Les tableaux associatifs se convertissent en objets avec les clés comme noms de propriété et les valeurs comme valeurs de propriété.
Exemple
Convertir des tableaux en objets :
$a = array("Volvo", "BMW", "Toyota"); // tableau indexé $b = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43"); // tableau associatif $a = (object) $a; $b = (object) $b; Conversion en NULL
Remarque : L'instruction (unset) a été déclarée obsolète dans PHP 7.2.0 et supprimée dans PHP 8.0.0.
Pour convertir en NULL, il suffit de définir la variable sur NULL :
Exemple
$a = 5; // Integer $b = 5.34; // Float $c = "hello"; // String $d = true; // Boolean $e = NULL; // NULL $a = NULL; $b = NULL; $c = NULL; $d = NULL; $e = NULL;