- •Лабораторная работа №1
- •Методические рекомендации и порядок выполнения работы
- •Вставка в html
- •Теги вставки кода php
- •Особенности языка
- •Область видимости переменных.
- •Переменные переменные.
- •Массивы
- •Определение при помощи array()
- •Создание/модификация с помощью синтаксиса квадратных скобок
- •Операторы Арифметические операторы
- •Оператор присвоения
- •Побитовые операторы
- •Операторы сравнения
- •Операторы инкремента и декремента
- •Логические операторы
- •Строковые операторы
- •Операторы управления
Особенности языка
При написании скриптов на РНР, следует крепко помнить ряд особенностей этого языка.
Первая особенность это способ определения переменных. Для этих целей используется символ $. Таким образом $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.