Определение и установка типа переменной

Оператор предупреждения об ошибках

Оператор выполнения

Операторы конкатенации для строк и массивов

Для объединения (конкатенации) строк в PHP используется оператор ".".

Оператор "." можно использовать в составном операторе присваивания – ".=".

Пример 4.6.35. Конкатенация строк:

$n_str = "1";

$str = "String ";

// $str1 получит значение "String 1"

$str1 = $str.$n_str;

// $str2 получит значение "String 1-1"

$str.= $str."-1";

Для слияния двух массивов используется оператор "+".

Пример 4.6.36. Конкатенация массивов:

$a = array(1=>"1", 2=>"2");

$b = array(1=>"3", 4=>"4", 5=>"5");

$c = $a + $b;

Массив $c будет иметь 4 элемента с ключами 1, 2, 4 и 5 и со значениями соответственно "3", "2", "4" и "5"(значения с одинаковыми ключами будут заменены).

Выражение, заключенное в обратные апострофы (символ "`"), рассматривается интерпретатором PHP как команда и направляется обработчику команд операционной системы Web-сервера. Результатом выражения является вывод выполненной команды.

Пример 4.6.37. Выполнение команды:

Оператор

$output = `dir`;

выведет в Windows содержимое текущего каталога компьютера. Для Unix аналогичное действие вызовет оператор

$output = `ls -l`;

В PHP определен оператор @ (отключение ошибок). Если размес­тить данный оператор перед любым выражением (возможно, включающим вызовы функций, генерирующих предупреждения), то сообщения об ошиб­ках в этом выражении будут подавлены и в окне браузера не отображены.

Пример 4.6.38. Использование оператора @:

Выполнение операторов:

$a = 3;

$b = 0;

$c = $a/$b;

вызовет сообщение об ошибке

Warning: Division by zero in D:\TestASP\hello.php on line XX

Если последний оператор изменить следующим образом

$c = @($a/$b);

то сообщение об ошибке сгенерировано не будет (следует отметить, что текст последнего выведенного сообщения об ошибке хранится в описанной выше предопределенной переменной $php_errormsg).

Определить тип переменной в PHP можно с помощью функции

gettype(переменная)

Эта функция возвращает строку, которая, в соответствии с текущим типом переменной, имеет одно из следующих значений: "array", "object", "integer", "double", "string", "boolean", "resource", "NULL" или "unknown type".

Пример 4.6.39. Использование функции gettype():

$a = 0;

$a_type = gettype($a);// $a_type получит значение "integer"

$a = "0";

$a_type = gettype($a);// $a_type получит значение "string"

Кроме функции gettype(), для определения типа переменной можно использовать также функции:

· is_array(переменная)– для проверки, является ли переменная массивом;

· is_bool(переменная)– для проверки, является ли переменная булевским значением;

· is_float(переменная)– для проверки, является ли переменная вещественным числом;

· is_integer(переменная)– для проверки, является ли переменная целым числом;

· is_null(переменная)– для проверки, имеет ли переменная значение NULL;

· is_object(переменная)– для проверки, является ли переменная объектом;

· is_resource(переменная) – для проверки, является ли переменная ресурсом;

· is_string(переменная) – для проверки, является ли переменная строкой.

Эти функции возвращают true, если переменная имеет соответствующий тип и false – в противном случае.

Пример 4.6.40. Использование функций is_integer() и is_float():

$a = 0;

$is_int = is_integer($a); // $is_int получит значение true

$is_flo = is_float($a); // $is_flo получит значение false

Функции is_numeric(переменная) и is_scalar(переменная) позволяют определить, является ли переменная числовой или скалярной.

Пример 4.6.41. Использование функций is_numeric() и is_scalar():

$a = 0;

$b = "0";

$is_na = is_numeric($a); // $is_na получит значение true

$is_nb = is_numeric($b); // $is_nb получит значение false

$is_sa = is_scalar($a); // $is_sa получит значение true

$is_sb = is_scalar($b); // $is_sb получит значение true

$c = array(1, 2, 3);

$is_nc = is_numeric($c); // $is_nc получит значение false

$is_sc = is_numeric($c); // $is_sc получит значение false

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

settype(переменная, тип),

где тип может иметь одно из следующих значений: "array", "object", "integer", "double"("float"), "string", "boolean", или "null". Если преобразование выполнено успешно, функция возвращает значение true, в противном случае – значение false.

Пример 4.6.42. Использование функции settype():

$x_coord = "12"; // $x_coord определена как строка

// Преобразование $x_coord в целое число

settype($x_coord, integer);

Проверить, существует ли переменная с указанным именем можно с помощью функции

isset(переменная),

которая возвращает true, если указанная переменная существует и false – в противном случае.

Пример 4.6.43. Использование функции isset():

$a = 45; // Переменная $a определена

$is_a = isset($a); // $is_a получит значение true

$is_b = isset($b); // $is_b получит значение false,

// если $b ранее не встречалась

// в левой части оператора присваивания


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: