Жонглирование типами переменных (жонглирование) PHP не требует (или не поддерживает) объявления переменной для указания ее типа переменной, тип переменной определяется контекстом, в котором переменная используется, то есть, если вы даете переменную; Если var присвоено строковое значение, var становится строковой переменной. Если вы присвоите var целое число, оно станет целочисленной переменной. Примером автоматического преобразования типов переменных PHP является оператор сложения «+». Если какой-либо операнд имеет двойное значение, то все операнды оцениваются как двойные, и результат также является двойным. В противном случае операнды будут считаться целыми числами, а результат будет целым числом. Обратите внимание, что это не влияет на тип переменной каждого операнда, единственное изменение заключается в том, как операнды обрабатываются во время вычисления. |
|
Если вам кажется, что последние два выражения в приведенном выше примере выглядят немного странно, обратитесь к разделу «Преобразование строк». Если вы хотите принудительно оценить переменную как фиксированный тип, см. раздел «Приведение типов». Если вы хотите изменить тип переменной, обратитесь к описанию функции «settype()». Определение типа переменной Поскольку PHP сам определяет тип переменных и обычно преобразует их по мере необходимости, тип конкретной переменной не всегда очевиден. PHP включает функции для определения типа этой переменной. Это функции gettype(), is_long(), is_double(), is_string(), is_array() и is_object(). Приведениетипов в PHP практически такое же, как и в C: вам понадобится тип, написанный на круглые скобки перед переменной, которую нужно привести. |
|
Допускаются следующие методы приведения: (int), (integer) — приведение к целому числу (real), (double), (float) — приведение к двойной точности (строка) — приведение к строке (массив) — приведение к массиву (объект ) – Принудительно к объекту. Обратите внимание, что в круглых скобках разрешены табуляции и пробелы, поэтому следующие операторы эквивалентны: $foo = (int) $bar; $foo = (int) $bar преобразование Когда строка оценивается как; числовое значение, его результат и тип определяются, как описано ниже. Если эта строка содержит символы «.», «e» или «E», она рассматривается как переменная двойного типа, в противном случае она рассматривается как целое число. Значение этой строки определяется префиксом. Если строка начинается с любых допустимых числовых данных, то числовые данные являются значением, по которому вычисляется строка. В противном случае значение равно нулю. Действительные числовые данные следуют следующему обозначению, за которым следует одна или несколько цифр (которые могут включать десятичную точку), а затем необязательный показатель степени. Показатель степени состоит из одной или нескольких цифр, за которыми следует «e» или «E». |
|
Для получения дополнительной информации см. раздел руководства Unix по strtod(3). |