Преобразование типов. Явное приведение переменной к типу, отличному от того, который изначально предназначался для нее, называется преобразованием (casting) типа
Явное приведение переменной к типу, отличному от того, который изначально предназначался для нее, называется преобразованием (casting) типа. Изменение типа может быть как временным, одноразовым, так и постоянным.
Чтобы временно привести переменную к другому типу, достаточно воспользоваться оператором преобразования типа — указать нужный тип перед именем переменной в круглых скобках (табл. 2).
Таблица 2.Операторы преобразования типа переменных
Оператор преобразования типа | Новый тип |
(int) или (integer) | Целое число |
(real), (double) или (float) | Вещественное число |
(string) | Строка |
(array) | Массив |
(object) | Объект |
Простой пример преобразования типов:
$variable1= 13; // $variable1 присваивается целое число 13
$variable2 = (double) $variable1; // $variable2 присваивается 13.0
Хотя переменная $variable1 первоначально содержала целое число 13, преобразование (double) преобразует ее к вещественному типу (поэтому число 13 превращается в 13.0). Полученное значение присваивается переменной $variable2.
Из предыдущего раздела вы знаете, что при суммировании целого числа с вещественным получается вещественный результат. Однако тип результата можно изменить посредством явного преобразования типа:
$variablel = 4.0;
$variable2 = 5;
$variable3 = (int) $variable1 + $variable2; // $variable3 = 9
Следует заметить, что преобразование вещественного типа к целому всегда сопровождается округлением:
$variablel = 14.7:
$variable2 = (int) $varlable1; // $variable2 = 14:
Строку или переменную другого типа также можно преобразовать в элемент массива. В этом случае преобразованная переменная становится первым элементом массива:
$variable1 = 1114;
$array1 = (array) $varable1;
print $array1[0]; // Выводится значение 1114
Наконец, любой тип данных можно преобразовать в объект. Переменная становится атрибутом объекта, и ей присваивается имя scalar:
$model = "Toyota";
$new_obj = (object) $model;
Ссылка на исходное строковое значение выглядит так:
print $new_obj->scalar;
Дата добавления: 2015-09-14; просмотров: 681;