A b c d e f g h I j k l m n o p q r s t u v w x y z
26прописных букв латинского алфавита:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
причем одинаковые строчные и прописные буквы считаются разными символами.
Для записи комментариев и работы со строками могут дополнительно использоваться строчные и прописные буквы русского алфавита.
К категории цифр относятся десять арабских цифр:
0 1 2 3 4 5 6 7 8 9
Специальными знаками являются символы:
+ плюс ‘ апостроф
- минус “ кавычки
* звездочка ? вопросительный знак
/ дробная черта ! восклицательный знак
< меньше _ знак подчеркивания
> больше () круглые скобки
= равно [] квадратные скобки
. точка {} фигурные скобки
, запятая | вертикальная черта
; точка с запятой \ слэш
: двоеточие # знак номера (шарп)
~ тильда % процент
^ карат & амперсанд
Служебные слова
Программы на языке PHP пишутся с помощью служебных слов, которые дают команду интерпретатору на выполнение определенных действий.
В качестве служебных слов используются слова английского языка, отражающие смысл выполняемого действия:
and и float вещественный
array массив for для
as как foreach для каждого
boolean логический function функция
break прервать if если
case вариант include включать
const константа integer целый
continue продолжать new новый
default по умолчанию NULL отсутствие значения
define определять or или
do выполнять return возврат
double двойной static статический
else иначе switch переключатель
false ложь true истина
while пока
var переменная
Типы данных
Основой любого языка программирования является хранение и обработка данных. При этом важно знать, данные каких типов могут использоваться в конструкциях языка.
Тип данных определяет множество возможных значений объекта программы. Если мы каким-то образом определяем (ограничиваем) некоторое множество значений, то тем самым определяем конкретный тип данных.
В PHP используются данные четырех стандартных типов:
- целые,
- вещественные,
- логические,
- строковые.
В отличие от Си, в PHP отсутствуют данные символьного типа.
Данные целого типа (integer) – это целые числа, которые могу быть представлены в десятичной, восьмеричной и шестнадцатеричной системах счисления.
Целые десятичные числа – это обычные целые числа в диапазоне:
-2 147 483 648 … +2 147 483 647,
Внимание! Целое десятичное число не может начинаться с нуля!
Данные вещественного типа (float, double) представляют собой десятичные числа с дробной частью в диапазоне:
±1,7×10-308…±1,7×10+308.
Они могут быть записаны в двух формах:
- форме с фиксированной запятой – в виде десятичной дроби, причем вместо десятичной запятой ставится десятичная точка:
3.14159265358979 -2.71 1.4142 1.72
- форме с плавающей запятой – в виде десятичной дроби с последующим десятичным порядком, который обозначается буквой E (e):
-2.31E-4 3.16e21 25.8e-6 -0.275E7
Данные строкового типа (string) представляют собой последовательности символов языка, заключенные в одинарные или двойные кавычки:
“This is a character string”
‘abcdefghijklmnopqrstuvwxyz’
“Это строковая константа”
‘Введите исходные данные:’
В строку могут быть включены ESC-последовательности, рассматриваемые как один отдельный символ:
‘\f’ перевод страницы
‘\n’ перевод строки
‘\r’ возврат каретки
‘\t’горизонтальная табуляция
‘\v’ вертикальная табуляция
‘\0’ нулевой символ (нулевой байт) – конец строки
‘\’’ апостроф
‘\\’ слэш
‘\?’ вопросительный знак
‘\”’ кавычка
Например:
“\nВведите исходные данные:”
При выводе этой строки на экран сначала будет сделан перевод на новую строку, а затем выведено сообщение:
Введите исходные данные:
Длинную строку можно разместить на нескольких строках экрана, используя в качестве знака переноса ESC-последовательность ‘\n’:
“\nПрограмма\nстудента группы ИС-10\nИванова Ванечки”
Эта строка будет выведена на экран в следующем виде:
Программа
студента группы ИС-10
Иванова Ванечки
Данные логического типа (boolean) – это две логические константы, известные нам из Паскаля:
true истина,
false ложь.
Кроме этих стандартных типов данных, в PHP используются еще следующие типы:
массивы (array) – для хранения под одним именем множества значений, как правило, различных типов,
объекты (object) – для хранения экземпляров классов,
NULL – специальное значение, указывающее, что данные не имеют никакого значения, даже нуля или пустой строки,
RESOURCE – специальный тип данных, содержащий ссылку на какой-то внешний по отношению к скрипту источник данных (текстовый файл, изображение).
В отличие от Паскаля и Си, PHP относится к языкам со свободными типами данных: допустимо применение одинаковых операций к данным различных типов, а также присваивание одной переменной разнотипных данных. В выражениях также можно использовать данные различных типов, при этом интерпретатор PHP автоматически приводит данные к нужному типу:
5 + 3 8
“5” + “3” 8
“5” + 3 8
“5руб” + 3 8
“доход 5” + 3 3
“привет” + 3 3
“привет” + “всем” 0
Таким образом, если строка не содержит в качестве своих первых символов число (возможно, со знаком), то в арифметических выражениях она преобразуется в ноль.
Данные различных типов могут использоваться как в логических операциях, так и в операциях сравнения. Результат этих операций – константы true или false. В этом случае интерпретатор PHP автоматически преобразует данные нелогического типа к логическому по следующим правилам:
- в false преобразуются:
- строка “false”,
- пустая строка “” и строка “0”,
- числа 0 или 0.0 ,
- NULL,
- пустой массив (количество элементов равно нулю),
- остальные значения преобразуются в true.
Значения логического типа могут участвовать в арифметических выражениях, причем считается:
false = 0
true = 1
Часто требуется приведение данных одного типа к другому для корректности последующих операций, не полагаясь на возможности автоматического преобразования типов. Для этого используются операторы приведения, записываемые в скобках:
(int) 3.1416 3
(float) “12.65 руб.” 12.65
(bool) “12.65 руб.” true
Комментарии
Программа без комментариев – первый признак непрофессионализма.
Комментарии можно начинать или двумя знаками деления:
//это комментарий
или заключать между символами-скобками /* */:
/* это комментарий */
Внутри комментария можно использовать любые допустимые на данном компьютере символы, а не только символы алфавита языка PHP, поскольку комментарии не обрабатываются интерпретатором.
Рекомендуется использовать //-комментарии для пояснений, а скобки /* */ применять для временного исключения программных блоков при отладке программы.
Переменные
В математике с понятием переменной связывают некоторый именованный объект, который может принимать одно из допустимого множества значений.
В программировании термин переменная означает область оперативной памяти, в которой хранятся данные определенного типа. Другими словами, переменная – это контейнер для хранения данных. Данные, хранимые в переменной, называются значениями переменной.
У любой переменной должно быть имя. Имя переменной можно рассматривать как адрес первого байта области памяти, в которой она хранится. Знание этого адреса дает возможность пользователю изменять значение переменной в процессе выполнения программы.
Таким образом, понятие переменной употребляется для обозначения величины, которая при работе программы может принимать различные значения. Каждая переменная должна иметь свое имя-идентификатор. Имена переменных программист выбирает сам, руководствуясь следующими правилами:
- имя переменной должно отражать ее смысл, то есть то, что с помощью этой переменной вычисляется,
- не допускается совпадение имени переменной со служебными словами и именами функций,
- в имени можно использовать буквы латинского алфавита, цифры и знак подчеркивания,
- имя должно начинаться с символа $, за которым должна следовать буква или знак подчеркивания:
$my_var
$my_name
$myAdress
$_vasja
$_12345
- совпадающие имена, состоящие из строчных и прописных букв, считаются различными: $name и $NAME – различные имена.
По существу, префикс $ в имени переменной указывает интерпретатору, что он имеет дело именно с переменной, а не с другими объектами программы.
Математические функции
Математические функции служат для вычисления некоторых часто встречающихся тригонометрических и элементарных функций.
Аргументы математических функций могут иметь типы double, float или integer, причем все функции, кроме round(), ceil(), floor() возвращают значения типа double, а эти – типа integer. Углы в тригонометрических функциях задаются в радианах:
sin($x) sin x
cos($x) cos x
tan($x) tg x
asin($x) arcsin x
acos($x) arccos x
atan($x) arctg x
atan2($x,$y) arctg x/y
exp($x) ex
log($x) ln x
log10($x) lg x
pow($x,$y) xy ошибка, если x=0 и y<=0 или
если x<0 и y не целое
sqrt($x)
ceil($x) округление числа вверх до ближайшего целого:
ceil(5.0) = 5
ceil(5.4) = 6
ceil(5.8) = 6
floor($x) округление числа вниз до ближайшего целого -
выделение целой части числа:
floor(5.0) = 5
floor(5.4) = 5
floor(5.8) = 5
round($x) округление аргумента:
round(5.0) = 5
round(5.4) = 5
round(5.8) = 6
abs($x) |x| x – целое
fmod($x,$y) остаток от деления x на y
в виде вещественного числа:
fmod(7.8, 5) = 2.8
fmod(7.8, 5.0) = 2.8
fmod(7.8, 5.2) = 2.6
fmod(7.8, 5.5) = 2.3
fmod(7.0, 5.0) = 2.0
fmod(7, 5) = 2.0
fmod(7.5, 5.8) = 1.7
max(число1, число2, …) наибольшее из чисел в списке,
max(массив чисел) наибольший из элементов массива,
min(число1, число2, …) наименьшее из чисел в списке,
min(массив чисел) наименьший из элементов массива,
mt_rand(число1, число2) целое случайное число с равномерным распределением в заданном диапазоне,
mt_srand(time()) установка начального значения генератора случайных чисел.
Математические константы
В PHP имеется много предопределенных числовых констант, которые используются в инженерных и научных расчетах:
M_PI число π 3,14159265358979323846
M_E число e 2,7182818284590452354
M_LOG2E log2e 1,4426950408889634074
M_LOG10E lg e 0,43429448190325182765
M_LN2 ln e 0,69314718055994530942
M_LN10 ln 10 2,30258509299404568402
M_PI_2 π/2 1,57079632679489661923
M_PI_4 π/4 0,78539816339744830962
M_1_PI 1/π 0,31830988618379067154
M_2_PI 2/π 0,63661977236758134308
M_SQRTPI 1,77245385090551602729
M_2_SQRTPI 2/ 0,63661977236758134308
M_SQRT2 1,41421356237309504880
M_SQRT3 1,73295080756887729352
M_SQRT1_2 1/ 0,70710678118654752440
M_LNPI ln π 1,14472988584940017414
M_EULER постоянная Эйлера 0,57721566490153286061
Выражения
Выражение – это последовательность переменных, чисел, строк, логических констант, соединенных знаками операций и круглыми скобками.
В PHP определены все арифметические операции, определенные и в языке Си:
+ сложение,
- вычитание,
* умножение,
/ деление,
% остаток от деления,
++ инкремент,
-- декремент,
а также соответствующие объединенные операции:
+= $x = $x + $a
-= $x = $x - $a
*= $x = $x * $a
/= $x = $x / $a
%= $x = $x % $a
Операции инкремента и декремента могут иметь как префиксную, так и постфиксную запись:
++$x;
$x--;
К строковым операциям относится только одна – операция конкатенации – соединения строк:
“Вася “ . “Пупкин” = “Вася Пупкин” , но “Вася “ + “Пупкин” = 0
Имеется ее объединенный вариант: .=
$name = “Вася “;
$name .= ” Пупкин”;
Операции сравнения используются для определения отношений между двумя операндами – числами, строками, переменными, выражениями. Результат сравнения – константы true или false:
< 5 < 3 false
<= 5 <=”5” true
> 5 > “3” true
>= 5 >=6 false
!= “Вася” != “Ваня” true
== 1 == “1” true
=== операция тождественного равенства – с учетом типа сравниваемых данных:
=== 1===”1” false
=== 1===1 true
Для выполнения операций сравнения PHP преобразует сравниваемые операнды к одному типу.
К логическим операциям относятся:
and, &&конъюнкция (логическое умножение),
or, ||дизъюнкция (логическое сложение),
!инверсия (отрицание).
Действие этих операций совпадает с действием соответствующих логических операция в Си.
Приоритет выполнения логических операций: !, &&, ||, and, or
Поразрядные операции позволяют обрабатывать числа, представляя их в двоичном виде:
& побитовая конъюнкция,
| побитовая дизъюнкция,
~ побитовая инверсия разрядов числа.
Действие этих операций совпадает с действием соответствующих поразрядных операция в Си.
Операции сдвига:
$x << $n все биты двоичного представления переменной $x сдвигаются влево на $n позиций (сдвиг на один шаг влево – увеличение числа в два раза),
$x >> $n все биты двоичного представления переменной $x сдвигаются вправо на $n позиций (сдвиг на один шаг вправо – уменьшение числа в два раза),
Операторы присваивания
В PHP нет специальных деклараций (операторов) для описания переменных, как в Паскале или Си:
VAR I: INTEGER;
или
int i;
Переменная в PHP создается (под нее выделяется память) при первом ее упоминании в операторе присваивания, то есть при присваивании ей первого значения:
$my_name=”Володя”;
$my_age=18;
$privet=”Привет!”;
При этом тип переменной определяется типом присвоенного ей значения. В любой момент переменной можно присвоить значение другого типа:
$my_name=25;
$my_age=”Молодой еще!”;
Внимание! Желательно такой возможностью языка PHP не пользоваться!
Значение строковой переменной можно задавать двумя способами:
а) в одинарных кавычках:
$my_name=’Володя’;
б) в двойных кавычках:
$my_name=”Володя”;
В этом случае в строку можно вставлять ESC-последовательности:
\n – конец строки,
\t – горизонтальная табуляция.
Например, если строка имеет вид:
$my_name=”Володя\nИванов”;
То при выводе ее на экран терминала она разобьется на две:
Володя
Иванов
Таким образом, ESC-последовательности в PHP работают так же, как и в Си.
В любую строку можно включать имена переменных. При этом если строка заключена в одинарные кавычки, то выведется на экран так, как написана:
$my_name=’Володя’;
$my_age=18;
$message=’Мое имя $my_name, мой возраст $my_age лет.’;
echo $message;
На экране появится:
Мое имя $my_name, мой возраст $my_age лет.
Если же строка заключена в двойные кавычки, то будут выведены значения переменных, стоящих внутри нее:
$my_name=’Володя’;
$my_age=18;
$message=”Мое имя $my_name, мой возраст $my_age лет.”;
echo $message;
На экране появится: