Использование функций для работы с переменными

Проверка и установка типов переменных

Большая часть функций для работы с переменными связана с проверкой типов. Двумя самыми общими функциями являются 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 () также позволяет указать основание системы счисления, когда переменная преобразуется из строкового представления.




  • Другие |
назадвверхвперед
Rambler's Top100