| ||||||||||
Трюки с типамиPHP не требует (и не поддерживает) явного определения типа при объявлении переменной; тип переменной определяется по контексту, в котором она используется. То есть, если вы присваиваете строковое значение переменной var, var становится строкой. Если вы затем присваиваете переменной var целочисленное значение, она становится целым числом. Примером автоматической конвертации в PHP является операция сложения '+'.
Если любой из операндов float, то все операнды вычисляются как float, и результат также будет
float. Если же операнды интерпретируются как целые числа, то и результат будет целочисленным.
Если последние два примера непонятны, см. Конвертация строк. Если вы хотите форсировать вычисление переменной как имеющей определённый тип, см. раздел Приведение типов. Если вы хотите изменить тип переменной, см. settype(). Если вы хотите протестировать любой из примеров этого раздела, вы можете использовать функцию var_dump().
Приведение типовПриведение типов в PHP работает так же, как и в C: имя нужного типа записывается в скобках перед переменной, которая к этому новому типу приводится.
Допускаются следующие приведения типов:
Заметьте, что табуляции и пробелы допускаются внутри скобок, поэтому следующие варианты функционально эквивалентны:
Возможно сейчас не очевидно, что происходит при приведении конкретных типов. Дополнительно см. разделы: При приведении или форсировании конвертации из массива в строку, результатом станет слово Array. При приведении или форсировании конвертации из объекта в строку, результатом станет слово Object. При приведении скалярной или строковой переменной к массиву, переменная станет первым элементом этого массива:
При приведении скалярной или строковой переменной к объекту, переменная станет атрибутом этого объекта; имя атрибута будет 'scalar':
| ||||||||||
|