Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vtoraya_chast_uchebnika_po_WWW_Okonchat_variant...doc
Скачиваний:
31
Добавлен:
27.09.2019
Размер:
6.06 Mб
Скачать

Пример 1‑11

<?php

$a=3.5;

echo $a;

echo "<br>";

$b = intval($a);

echo $b,"<br>";

echo intval(1e10),"<br>";

echo intval('1e10'),"<br>";

echo intval(042),"<br>";

echo intval(42000000);

?>

Функция получения типа переменной: gettype. Получает тип переменной.

string gettype(mixed var);

Возвращает тип переменной PHP var. Возможные значения для возвращаемой строки: integer , double, string, array, object, unknown type.

Пример 1-12 иллюстрирует работу этой функции.

Пример 1‑12

<?php

$a = 5;

$b=gettype($a);

echo($b);

$c=gettype($b);

echo "<br>";

echo($c);

echo "<br>";

$a = 5.1;

$b=gettype($a);

echo($b);

$c=gettype($b);

echo "<br>";

echo($c);

?>

Функция, возвращающая информацию об одном или более выражений, которая включает его тип и значение (выводит в окно браузера так называемый дамп13 информации о выражении).

Пример 1‑13

<?php

$large_number = 2147483647;

var_dump($large_number);

// вывод: int(2147483647)

$large_number = 2147483648;

var_dump($large_number);

// вывод: float(2147483648)

// это справедливо и для шестнадцатеричных целых:

var_dump( 0x80000000 );

// вывод: float(2147483648)

$million = 1000000;

$large_number = 50000 * $million;

var_dump($large_number);

// вывод: float(50000000000)

?>

Замечание: если нужно проверить тип и значение определенного выражения, то удобнее использовать var_dump().

Если же вам для отладки необходимо просто удобочитаемое представление типа, используйте gettype().

Чтобы проверить на определенный тип, не используйте gettype(), применяйте для этого функции определения типа переменной или выражения. Эти функции типа is_type: is_double, is_float, is_int, is_integer.

Функция is_float - определяет, является ли переменная числом с плавающей точкой.

Синтаксис: bool is_float (mixed var)

Является логической – то есть возвращает TRUE, если var является float, FALSE - в ином случае.

Вот несколько примеров (использован пока не рассматриваемый оператор условного перехода if ):

Пример 1‑14

<?php

$bool = TRUE; // логический

$str = "foo"; // строковый

$int = 12; // целочисленный

echo gettype($bool); // выводит "boolean"

echo gettype($str); // выводит "string"

// Если это целое, увеличить на четыре

if (is_int($int)) {

$int += 4;

}

// Если $bool - это строка, вывести ее, иначе ничего не выводит

if (is_string($bool)) {

echo "Строка: $bool";

}

?>

Функция print_r — выводит в доступном для человека виде информацию о переменной.

Синтаксис этой функции: print_r (mixed expression [, bool return]).

Для переменных типа string, integer или float печатается само значение. Если в качестве аргумента функции передан массив - будут выведены значения и соответствующие им ключи. Аналогичная нотация используется для object.

Здесь expression – выражение произвольного вида.

Следует помнить, что print_r() перемещает указатель массива в конец. Для возврата его в начало необходимо воспользоваться фукнцией reset().

Функция, устанавливающая тип переменной: settype()

Синтаксис: bool settype (mixed var, string type)

Устанавливает тип (type) переменной (var) в указываемый вторым параметром функции тип. Возможные значения type:

"boolean" (или, начиная с версии PHP 4.2.0, "bool")

"integer" (или, начиная PHP 4.2.0, "int")

"float" (только начиная с PHP 4.2.0; для более старых версий используйте не рекомендуемый вариант "double")

"string"

"array"

"object"

"null" (начиная с PHP 4.2.0)

Возвращает TRUE при успешном преобразовании; иначе возвращает FALSE.