Типы в PHP
Переменная должна быть определенного типа, но в PHP типа явно не определен, а не тип переменной определяется по контексту, в котором переменная используется. Это означает, таким образом, что переменные становятся типа, когда они присваивается значение, которое имеет тип.
Автоматическое преобразование типов
PHP автоматически конвертирует из одного типа в другой, что может привести к неожиданным результатам. Например, преобразование из ложного в строку может иметь неожиданные результаты.
value = false ; Значение $ = false;
" The value is $ value " ; echo "Это значение является значением $";
returns : The value is / / Возвращает: значение
Для решения такого рода проблем, PHP должна быть проинструктированы, как иметь дело с переменной.
value = false ; Значение $ = false;
" The value is " . ( int ) $ value ; echo "значение" (INT) $ значение.
returns : The value is 0 / / Возвращает: значение 0
Как вы можете видеть, чтобы бросить переменной необходимо использовать место типа вы хотите бросить, чтобы перед переменной в скобках. Это относится и то, что тип переменной быть брошенным. Обратите внимание, что вы должны быть осторожны, что вы бросили, как это может иметь некоторые неожиданные результаты. Например литья фракции целое округляет дробь до ближайшего целого числа.
Преобразование строк с номерами
Знаете ли вы, вы можете добавить Сентанс и ряд вместе, чтобы сформировать другой номер? Ну, в PHP вы можете! Unfortunatley это может привести к неожиданным результатам, таким образом Вы должны быть осторожны, как справиться с этим.
value = 1 + " 4.5 " ; $ Значение = 1 + "4,5";
is float with the value 5.5 / / С плавающей точкой со значением 5,5
value = 1 + " tom " ; $ Значение = 1 + "Томь";
is integer with the value 1 / / Целое со значением 1
value = 1 + " 2 Green Bottles " ; $ Значение = 1 + "2 зеленых бутылок";
is integer with the value 3 / / Целое со значением 3
value = 1 + " Green Bottles 2 " ; $ Значение = 1 + "Зеленые бутылки 2";
is integer with the value 3 / / Целое со значением 3
Как вы можете видеть при добавлении строки в число, если первая часть строки число это то суммируются. Любые другие числа, игнорируются. Если добавить строку с плавающей точкой в этом целое результат с плавающей точкой. Опять же правильный способ решения этой проблемы заключается в выявлении и или привести переменную к правильному типу.
Определение типа переменной
Тип переменной можно определить с помощью функции ниже просто передать переменную нужную функцию и она возвращает истину, если он этого типа. Это техника для оборонительных программирования .
var = " hello " ; $ Переменная = "Привет";
Returns true if a variable is a BOOLEAN / / Возвращает истину, если переменная является BOOLEAN
$ var ) is_bool ($ переменная)
Returns true if a variable is a STRING / / Возвращает истину, если переменной STRING
$ var ) is_string ($ переменная)
Returns true if a variable is a NUMERIC STRING / / Возвращает истину, если переменная является числовой строкой
$ var ) is_numeric ($ переменная)
Returns true if a variable is an INTEGER / / Возвращает истину, если переменная INTEGER
$ var ) is_int ($ переменная)
Returns true if a variable is an ARRAY / / Возвращает истину, если переменная является массивом
$ var ) is_array ($ переменная)
Returns true if a variable is an OBJECT / / Возвращает истину, если переменная является объектом
$ var ) is_object ($ переменная)
Returns true if a variable is NULL / / Возвращает истину, если переменная NULL
$ var ) is_null ($ переменная)
Returns true if a variable is a FLOAT / / Возвращает истину, если переменная FLOAT
$ var ) is_float ($ переменная)
Это важно, поскольку как только определенный тип переменных был определен вы можете быть уверены, что эффект любой операции, выполняемые на нем.
Нет комментариев были предоставлены.
Автор: Доминик Скиннера
Последнее обновление: 2011-10-25 16:00:38