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

       

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


Явное приведение переменной к типу, отличному от того, который изначально предназначался для нее, называется преобразованием (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;



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