PHP 4 на практике

Преобразование типов


Явное приведение переменной к типу, отличному от того, который изначально предназначался для нее, называется преобразованием (casting) типа. Изменение типа может быть как временным, одноразовым, так и постоянным.

Чтобы временно привести переменную к другому типу, достаточно воспользоваться оператором преобразования типа — указать нужный тип перед именем переменной в круглых скобках (табл. 2.2).

Таблица 2.2.

Операторы преобразования типа переменных



Простой пример преобразования типов:

$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;



Содержание раздела






Оператор преобразования типа Новый тип
(int) или (integer) Целое число
(real), (double) или (float) Вещественное число
(string) Строка
(array) Массив
(object) Объект