Преобразование в тип Integer (целые числа)
Для несомненного преобразования значения в целое используйте приведение типа (int) или (integer). Однако в большинстве случаев вам нет необходимости использовать приведение типа, поскольку значение будет автоматически преобразовано, если оператор, функция или управляющая конструкция требует целый аргумент. Вы также можете преобразовать значение в целое при помощи функции intval().
Преобразование из типа Boolean
FALSE преобразуется в 0 (ноль), а TRUE - в 1 (единицу).
Преобразование из типа Float
При преобразовании из числа с плавающей точкой в целое, число будет округлено в сторону нуля.
Если число с плавающей точкой превышает пределы целого (как правило, это +/- 2.15e+9 = 2^31), результат будет неопределенным, так как целое не имеет достаточной точности, чтобы вернуть верный результат. В этом случае не будет выведено ни предупреждения, ни даже замечания
Внимание! Никогда не приводите неизвестную дробь к целому, так как это может иногда дать неожиданные результаты, например:
<?php
echo (int) ( (0.1+0.7) * 10 ); // выводит 7!
?>
Смотрите более подробно о данной проблеме: предупреждение о точности чисел с плавающей точкой.
Преобразование из типа String
Смотрите Преобразование строк в числа
Преобразования из других типов
Для других типов поведение преобразования в целое не определено. В настоящее время поведение такое же, как если бы значение сперва было преобразовано в булев тип. Однако не полагайтесь на это поведение, так как он может измениться без предупреждения.