Большая часть функций для работы с переменными связана с проверкой типов. Двумя самыми общими функциями являются gettype () и settype (). Они имеют показанные ниже прототипы, которые определяют, какие аргументы им следует передавать, а также какие значения они возвращают.
string gettype (mixed var);
int settype (string var, string type);
При вызове функции ей передается некоторая переменная. Функция ("get type" означает "получить тип") определяет тип этой переменной и возвращает строку содержащую имя типа или фразу "unknown type" (тип неизвестен), если тип переменной не принадлежит к числу стандартных типов, т.е. не является boolean, integer, double (float), string, array, object, resource или NULL.
При вызове функции settype () tq необходимо передать переменную, тип которой требует изменить, и строку, содержащую новый тип переменной из приведенного выше списка.
Данные функции ("set type" означает "установить тип")используется, как показано в следующем примере:
$a = 56;
echo gettype ($a). '<br>';
settype ($a,'float');
echo gettype ($a). '<br>';
В окне веб-браузера это будет выглядеть ТАК.
Перед вызовом функции gettype() переменная $a имеет тип integer. После вызова функции settype () ее тип изменился на double (float).
РНР предоставляет также ряд функций для проверки типов. Каждая из этих функций принимает переменную в качестве аргумента и возвращает значение true или false. К упомянутым функциям относятся:
В РНР имеется несколько функций, предназначенных для проверки состояния переменных.
Первая из них, isset (), имеет следующий прототип:
boolean isset (mixed var);
Эта функция ("is set" —установлена ) принимает в качестве аргумента имя переменной и возвращает true, если переменная существует, и false в противном случае. Ей также можно передать разделенный запятыми список переменных, и функция isset () возвратит true, если все переменные с списке установлены.
Переменную можно удалить, используя родственную функцию unset (), которая имеет следующий прототип:
int unset (mixed var);
Эта функция ("unset " — не установлена)фактически удаляет переменную, переданную ей в качестве аргумента.
И, наконец, в РНР доступна функция empty (). Она проверяет существование переменной и наличие у нее непустого, ненулевого значения, возвращая, соответственно, значение true или false. Эта функция ("empty" — пустая) имеет следующий прототип:
int empty (mixed var);
Рассмотрим пример использования перечисленных выше функций.
Посмотрите, как работают эти функции, для чего временно добавим в разрабатываемый сценарий следующие строки кода:
echo 'isset($filtr): '.isset ($filtr). '<br>';
echo 'isset($nothere): '.isset ($nothere). '<br>';
echo 'empty($filtr): '.empty ($filtr). '<br>';
echo 'empty($nothere): '.empty ($nothere). '<br>';
Откройте файл с формой, заполните ее и нажмите кнопку отправить заказ.
В окне веб-браузера это будет выглядеть ТАК.
Функция isset () должна возвратить для переменной $filtr значение 1 (true) вне зависимости от того, какое значение введено в поле формы, и от того введено ли вообще значение. Возвращаемое значение функции empty () зависит от введенного значения.
Переменная $nothere не существует, поэтому для нее функция isset () возвращает пустое значение (false), в то время как функция empty () выдает значение true.
Эти функции могут оказаться полезными, если требуется проверить, заполнил ли пользователь соответствующие поля формы.
Эффекта, эквивалентного приведению типа переменной, можно достич и с помощью функций. Для этих целей используются три функции:
int intval (mixed var);
float floatval (mixed var);
string strval (mixed var);
Каждая из них принимает в качестве аргумента переменную и возвращает значение переменной, преобразованное к соответствующему типу.
Функция intval () также позволяет указать основание системы счисления, когда переменная преобразуется из строкового представления.