Еще в ноябре 2005 года на встрече в Париже разработчики обсудили новые возможности следующей, шестой, версии PHP. Интересует ли Вас, какой будет эта версия? Примите участие в опросе, который проводится на сайте рассылки.
[опрос на английском языке: PHP 6: Are you interesting in? (PHP 6: Вы зантересованы?) - YES (ДА) - NO (НЕТ)]
Преобразование типов
Аннотация
Автоматическое и явное преобразование типов данных.
PHP, в отличие от большинства других языков программирования, не требует явного объявления типа данных, снимая с разработчика обязанность заботиться о соответствии используемых данных ранее объявленному типу. Это становится возможным благодаря тому, что тип данных определяется PHP автоматически в зависимости от контекста; кроме того, при необходимости производится автоматическая конвертация типов.
Одним из наиболее типичных примеров автоматического преобразования типов является приведение результата сложения двух целых чисел к типу чисел с плавающей запятой, если сумма слагаемых оказывается больше максимально возможного значения для типа целых чисел (тип чисел с плавающей запятой допускает значительно больший диапазон возможных значений). Другой частый случай - распознавание строк, состоящих из цифровых символов, как обычных чисел.
Тем не менее, при необходимости тип данных может быть задан и явным образом. Эта процедура называется кастингом (casting) и заключается в том, что нужный тип указывается в скобках перед теми данными, тип которых должен быть изменен.
print (int) 5.25;
5
Таблица 1. Кастинг типов
Выражение
Тип
(int)(integer)
Целочисленный
(bool)(boolean)
Логический
(float)(double)(real)
С плавающей запятой
(string)
Строковый
(array)
Массив
(object)
Объект
Замечание
Строго говоря, при кастинге изменяется тип не самих данных, а лишь то, в каком качестве воспринимаются эти данные при вычислениях.
$x = 5.25;
print (int) $x; // 5
print $x; // 5.25
5
5.25
Специфические особенности преобразования данных к конкретным типам будут рассмотрены позже.