Отправляет email-рассылки с помощью сервиса Sendsay

PHP 5 для начинающих

  Все выпуски  

ПРЕОБРАЗОВАНИЕ ТИПОВ: Приведение к целочисленному типу


PHP 5 для начинающих

Вниманию читателей!

Отдельные выпуски рассылки в той или иной мере взаимосвязаны. С предыдущими выпусками Вы можете ознакомиться:

  1. в архиве рассылки (оригиналы выпусков);
  2. на сайте рассылки (исправленные и дополненные версии).

# # #

Вы также можете подписаться на рассылку "PHP 5: Новые возможности".

PHP 6 уже в разработке!

Еще в ноябре 2005 года на встрече в Париже разработчики обсудили новые возможности следующей, шестой, версии PHP. Интересует ли Вас, какой будет эта версия? Примите участие в опросе, который проводится на сайте рассылки.

http://pterodactyl.l2p.net/e107/

[опрос на английском языке: PHP 6: Are you interesting in? (PHP 6: Вы зантересованы?) - YES (ДА) - NO (НЕТ)]

Аннотация

Особенности приведения данных к целочисленному типу.

Для явного приведения данных к целочисленному типу используется выражение (int) либо (integer). Впрочем, как и в случае с логическим типом, обычно заботиться о таком преобразовании не нужно, так как при необходимости оно осуществляется автоматически.

Преобразование данных логического типа. Значение false приводится к значению 0, а значение true - к значению 1.

var_dump((int) false);
int(0)
var_dump((int) true);
int(1)

Преобразование чисел с плавающей запятой. Числа с плавающей запятой при приведении к целочисленному типу округляются в меньшую сторону.

var_dump((int) 3.99);
int(3)

Внимание

При попытке преобразования числа с плавающей запятой, выходящего за пределы допустимых значений для целых чисел, результат будет неопределенным.

var_dump(1000000000000);
float(1.0E+12)
var_dump((int)1000000000000);
int(-727379968)

Неопределенный результат может быть также получен в случае преобразования результата операций с дробными числами (это связано с особенностями внутреннего представления чисел с плавающей запятой).

var_dump((0.7 + 0.1) * 10);
float(8)
var_dump((int) ((0.7 + 0.1) * 10));
int(7)

Преобразование данных строкового типа. Приведение строк к целочисленному типу, по сути, сводится к преобразованию результата предварительного автоматического приведения строки к типу number. Такому автоматическому приведению последовательно подвергаются слева направо символы, образующие строку, до тех пор, пока не встретится недопустимый символ. Если недопустимым окажется самый крайний символ слева, результат преобразования - 0 (ноль). Если строка, среди допустимых, содержит символы '.' (точка), 'e' или 'E', то результатом преобразования является число с плавающей запятой. В остальных случаях (с учетом попадания значения в допустимый для целых чисел диапазон) строка автоматически преобразуется к целочисленному типу.

Преобразование данных других типов. Результат приведения к целочисленному всех остальных типов следует считать непредсказуемым. Хоть на данный момент этот результат получается путем предварительного преобразования других типов к логическому, а уже потом - к целочисленному, но такое поведение может быть в любой момент изменено.

Created with DocBook Created with Libxslt


В избранное