Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПвИ / Конспект лекций.doc
Скачиваний:
224
Добавлен:
01.06.2015
Размер:
1.05 Mб
Скачать

Лекция 4. Переменные

Каждая переменная PHP имеет имя, начинающееся со знака $. Имя переменной выбирает сам программист. Это имя может состоять из букв, цифр и знака подчеркивания. Имя переменной обязательно должно начинаться с буквы или знака подчеркивания. В имени не могут встречаться пробелы и какие-нибудь символы, отличные от букв и цифр. При этом, имена переменных чувствительны к регистру символов. В следующем примере приведены правильные имена переменных.

$а;

$а_longish_variable_name;

$sleepyZZZZ;

Изменение типа переменной

В РНР есть функция settype(), служащая для изменения типа переменной. Для того чтобы изменить тип переменной, необходимо при вызове этой функции указать переменную, тип которой будет изменен, и новый тип данной переменной. Рассмотрим пример того, как с помощью функции settype() изменяется тип переменной $undecided поочередно на все рассматриваемые типы:

$undecided =3.14;

print gettype( $undecided ); // double

print " --$undecided<br>"; //3,14

settype( $undecided, string );

print gettype ($undecided ); // string

print " -- $undecided<br>"; // 3.14

settype ( $undecided, integer );

print gettype( $undecided ); // integer

print " -- $undecided<br>"; //3

settype( $undecided, double );

print gettype( $undecided ); // double

print " -- $undecided<br>"; //3

settype( $undecided, boolean );

print gettype ($undecided ); // boolean

print " -- $undecided<br>"; // 1

Каждый раз после изменения типа переменной проверяется ее новый тип для того, чтобы убедиться, что все работает правильно, и выводится значение переменной в окно броузера. Когда строка "3.14" преобразуется в целое число, дробная часть числа отбрасывается навсегда, поэтому значение переменной $undecided становится равным 3.0. В конце концов, переменную преобразуется в тип boolean, и ее значение становится равным 1, так как все значения, отличные от нуля, в таком случае преобразуются в 1. При выводе на печать логической переменной значение true выводится как 1, а значение false – как пустая строка.

Преобразование типа переменной

Тип переменной можно преобразовать временно. Для этого нужно указать новый тип в скобках перед именем переменной. При этом необходимо создать копию данной переменной, значение которой преобразуется к новому типу. Принципиальная разница между таким преобразованием и использованием функции settype() состоит в том, что settype() изменяет тип переменной навсегда, а преобразование типа только создает временную копию нового типа, оставляя саму переменную без изменений. Это продемонстрировано в примере:

$undecided = 3.14;

$holder = ( double ) $undecided;

print gettype( $holder ); //double

print " -- $holder<br>"; // 3.14

$holder = ( string ) $undecided;

print gettype( $holder ); // string

print " -- $holder<br> "; //3.14

$holder = ( integer ) $undecided;

print gettype( $holder ); // integer

print " -- $holder<br>" ; // 3

$holder = ( double ) $undecided;

print gettype ($holder ); // double

print " -- $holder<br>"; // 3.14

$holder = ( boolean ) $undecided;

print gettype ($holder ); // boolean

print " -- $holder<br>"; // 1

В этом примере тип переменной $undecided не изменяется - он всегда остается double. На самом деле каждый раз создается временная копия нового типа и его значение присваивается переменной $holder. Поскольку работа идет только с копией переменной $undecided, ее значение не изменяется.

Соседние файлы в папке ПвИ