PHP Приведение типов
Приведение типов в PHP — это явный процесс преобразования значения из одного типа данных в другой, например, из числа с плавающей точкой в целое число.
Это дает разработчику прямой контроль над типом данных переменной.
Вы приводите тип переменной, помещая оператор приведения в круглых скобках перед переменной или значением, которое хотите преобразовать.
Операторы приведения типов в PHP:
(string)— Преобразует в строковый тип данных(int)— Преобразует в целочисленный тип данных(float)— Преобразует в тип данных с плавающей точкой(bool)— Преобразует в логический тип данных(array)— Преобразует в тип данных массив(object)— Преобразует в тип данных объект(unset)— Устарело. Преобразует в тип данных NULL
Приведение к строке (string)
Чтобы привести к строковому типу данных: используйте (string)
перед переменной или значением для преобразования:
Пример
$a = 5; // Целое число
$b = 5.34; // Число с плавающей точкой
$c = "hello"; // Строка
$d = true; // Логическое значение
$e = NULL; // NULL
$a = (string) $a;
$b = (string) $b;
$c = (string) $c;
$d = (string) $d;
$e = (string) $e;
// Используйте var_dump() для проверки типа данных
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
Попробуйте сами »
Приведение к целому числу (integer)
Чтобы привести к целочисленному типу данных: используйте (int)
перед переменной или значением для преобразования:
Пример
$a = 5; // Целое число
$b = 5.34; // Число с плавающей точкой
$c = "25 km"; // Строка
$d = "km 25"; // Строка
$e = "hello"; // Строка
$f = true; // Логическое значение
$g = NULL; // NULL
$a = (int) $a;
$b = (int) $b;
$c = (int) $c;
$d = (int) $d;
$e = (int) $e;
$f = (int) $f;
$g = (int) $g;
Попробуйте сами »
Приведение к числу с плавающей точкой (float)
Чтобы привести к типу данных с плавающей точкой: используйте (float)
перед переменной или значением для преобразования:
Пример
$a = 5; // Целое число
$b = 5.34; // Число с плавающей точкой
$c = "25 km"; // Строка
$d = "km 25"; // Строка
$e = "hello"; // Строка
$f = true; // Логическое значение
$g = NULL; // NULL
$a = (float) $a;
$b = (float) $b;
$c = (float) $c;
$d = (float) $d;
$e = (float) $e;
$f = (float) $f;
$g = (float) $g;
Попробуйте сами »
Приведение к логическому типу (boolean)
Чтобы привести к логическому типу данных: используйте (bool)
перед переменной или значением для преобразования:
Пример
$a = 5; // Целое число
$b = 5.34; // Число с плавающей точкой
$c = 0; // Целое число
$d = -1; // Целое число
$e = 0.1; // Число с плавающей точкой
$f = "hello"; // Строка
$g = ""; // Строка
$h = true; // Логическое значение
$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;
Попробуйте сами »
Если значение равно 0, NULL, false или пустое, (bool) преобразует его в false, в противном случае — в true. Даже -1 преобразуется в true.
Приведение к массиву (array)
Чтобы привести к типу данных массив: используйте (array)
перед переменной или значением для преобразования:
Пример
$a = 5; // Целое число
$b = 5.34; // Число с плавающей точкой
$c = "hello"; // Строка
$d = true; // Логическое значение
$e = NULL; // NULL
$a = (array) $a;
$b = (array) $b;
$c = (array) $c;
$d = (array) $d;
$e = (array) $e;
Попробуйте сами »
При приведении к массиву большинство типов данных преобразуются в индексированный массив с одним элементом.
Значения NULL преобразуются в пустой объект массива.
Объект преобразуется в ассоциативный массив, где имена свойств становятся ключами, а значения свойств — значениями:
Пример
Преобразование объекта в массив:
class Car {
public $color;
public $model;
public function __construct($color, $model) {
$this->color = $color;
$this->model = $model;
}
public function message() {
return "Моя машина — " . $this->color . " " . $this->model . "!";
}
}
$myCar = new Car("red", "Volvo");
$myCar = (array) $myCar;
var_dump($myCar);
Попробуйте сами »
Приведение к объекту (object)
Чтобы привести к типу данных объект: используйте (object)
перед переменной или значением для преобразования:
Пример
$a = 5; // Целое число
$b = 5.34; // Число с плавающей точкой
$c = "hello"; // Строка
$d = true; // Логическое значение
$e = NULL; // NULL
$a = (object) $a;
$b = (object) $b;
$c = (object) $c;
$d = (object) $d;
$e = (object) $e;
Попробуйте сами »
При приведении к объекту большинство типов данных преобразуются в объект с одним свойством с именем "scalar", содержащим соответствующее значение.
Значения NULL преобразуются в пустой объект.
Индексированные массивы преобразуются в объекты с номером индекса в качестве имени свойства и значением в качестве значения свойства.
Ассоциативные массивы преобразуются в объекты с ключами в качестве имен свойств и значениями в качестве значений свойств.
Пример
Преобразование массивов в объекты:
$a = array("Volvo", "BMW", "Toyota"); // индексированный массив
$b = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43"); // ассоциативный массив
$a = (object) $a;
$b = (object) $b;
Попробуйте сами »Приведение к NULL
Примечание: Оператор (unset) был объявлен устаревшим в PHP 7.2.0 и удален в PHP 8.0.0.
Чтобы привести к NULL, присвойте переменной значение NULL:
Пример
$a = 5; // Целое число
$b = 5.34; // Число с плавающей точкой
$c = "hello"; // Строка
$d = true; // Логическое значение
$e = NULL; // NULL
$a = NULL;
$b = NULL;
$c = NULL;
$d = NULL;
$e = NULL;
Попробуйте сами »