Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа1(основы синтаксиса PHP).doc
Скачиваний:
13
Добавлен:
13.08.2019
Размер:
160.77 Кб
Скачать

Особенности языка

При написании скриптов на РНР, следует крепко помнить ряд особенностей этого языка.

Первая особенность это способ определения переменных. Для этих целей используется символ $. Таким образом $A это переменная а вот A это уже константа. То есть для вызова константы, следует указать ее имя без использования символа $.

Вторая особенность, причем очень важная – РНР чувствителен к регистру. То есть если вы создаете переменную $A а в дальнейшем обращаетесь к ней вызовом $a, то это будет ошибкой.

Третья особенность, которая будет не в новее для тех кто знаком с Pascal,C,JAVA, JavaScript – всякая строка должна быть закончена символом точки см запятой (;). Но за одним исключением. Последняя строка кода не обязательно должна заканчиваться символом точки с запятой.

<?php echo "This is a test"; echo "This is a test also"

?>

PHP поддерживает комментарии в стиле 'C', 'C++' и Unix shell. Например:

<?php echo "test"; // Комментарий в стиле C++ /* Это многострочный комментарий в стиле C++*/ echo "test2"; echo "Test3"; # Это unix-shell комментарий ?>

Типы.

PHP поддерживает следующие типы данных:

integer (целочисленные)

floating-point numbers или double (числа с плавающей запятой)

string (строки, текст)

array (массивы)

object (обьекты)

Преобразование типов происходит следующим образом. Если переменной присваивается строковое значение (текст в кавычках), то эта переменная становится строковой. Если с переменной совершается одна из многих математических функций или ей присваивается значение численной переменой, она становится численной, причем если присваивается не целое значение - то станет типом double.

Пример 3:

$foo = "0"; // $foo строка (ASCII 48) $foo++; // $foo тоже строка "1" (ASCII 49) $foo += 1; // $foo теперь integer (2) $foo = $foo + 1.3; // $foo теперь double (3.3) $foo = 5 + "10 паросят"; // $foo теперь снова integer (15) $foo = 5 + "10 ящиков"; // $foo и по прежнему integer (15)*

* - значение в скобках - результирующее значение переменной

Возможно преобразование типов в формате языка С/С++

$foo = 10; // $foo это integer $bar = (double) $foo; // $bar это double

Разрешены следующие преобразования:

(int), (integer) – преобразует к целому

(real), (double), (float) – преобразует к дробному

(string) – преобразует в строку

(array) – преобразует в массив

(object) – преобразует в объект

Определить тип переменной можно с помощью функций gettype(), is_long(), is_double(), is_string(), is_array() и is_object().

Область видимости переменных.

Существуют границы определения переменных. Например, чтобы использовать глобальные переменные в функциях, необходимо их сначала декларировать как глобальные, в противном случае вы будете вынуждены использовать только локальные переменные.

Пример 4:

$a = 1; /* глобальное определение */ function Test () { $a=2; echo $a; /* локальная переменная */ } Test (); echo $a;

Таким образом, в функции используется локальная, собственная переменная и результатом программы будет вывод чисел 2 и 1, а не 2 и 2.

В том случае если в функции нужно использовать глобальные переменные, необходимо предварительно такие переменные декларировать с помощью оператора global.

Пример 5:

$a = 1; /* глобальное определение */ function Test () { global $a; $a=2; echo $a; /* локальная переменная */ } Test (); echo $a;

Теперь в функции переопределена глобальная переменная $a и вывод будет 2 и 2. Есть и другой способ добраться до глобально-определенных данных - через ассоциативный массив $GLOBALS[].

Пример 6: пример предыдущей программы, реализованный новым способом:

$a = 1; /* глобальное определение */ function Test () { $GLOBALS["a"]=2; echo $a; /* локальная переменная */ } Test (); echo $a;

Обратите внимание переменная в массиве указывается без символа $

Кроме этого PHP предоставляет возможность использования статических переменных, аналогично тому как они используются в C/C++ и JAVA.

Пример 7: статические переменные

function Test () { static $a = 0; echo $a; $a++; } Test(); Test(); Test();

Результатом выполнения этого скрипта будет вывод чисел 0, 1 и 2.