|
Явное приведение переменной к типу,
отличному от того, который изначально
предназначался для нее, называется преобразованием
(casting)
типа. Изменение типа может быть как
временным, одноразовым, так и постоянным.
Чтобы временно привести переменную к
другому типу, достаточно воспользоваться
оператором преобразования типа — указать
нужный тип перед именем переменной в
круглых скобках (табл. 2.2).
Таблица 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; |