Слайд 2
boolean (логический тип)
echo false; // выводит пустую строку,
т. е. ничего не выводит
echo true; // выводит
1
array (ассоциативный массив)
$а = array(
0=> "Нулевой элемент",
"surname" => "Иванов",
"name" => "Иван");
echo $а["surname"]; // выведет Иван
$а["1"] = "Первый элемент"; // создаст элемент и присвоит ему значение
$a[" surname "] = "Петров"; // присвоит существующему элементу новое значение
$а = array(‘1' => ‘Элемент массива') + $а;
foreach ($а as &$value) {
echo $value ;
}
Переменные
2
Слайд 3
Присвоение значения
$имя_переменной = значение;
$а = 0; $b= 1;
if($а
= $b) echo "а и b одинаковы";
else echo
"а и b различны";
$а = ($b = 4) + 5;
Проверка существования
if (isset($my_variable))
Передача множества параметров
if (isset($_POST[‘name'], $_POST[‘pass'])) { }
Уничтожение
// Переменная $а не существует
$а = "Hello world!"; //переменная $а инициализирована
echo $а;
// удаление переменной $а
unset($а); // переменная $а не существует
echo $а; // предупреждение: нет такой переменной $а
unset($а["1"]);
Действия с переменными
3
Слайд 4
Определение типа переменной
is_double($a)
is_string($a)
is_bool($a)
is_null($a)
is_array($а)
$a = false;
if (is_bool($a) === true) {
echo "Это булевая переменная";
}
echo gettype($a) // boolean
Установка типа переменной
settype($var,
$type)
settype($a, "integer");
settype($b, "string");
echo $a; // 5
(целое)
echo $b; // "1" (строка)
Действия с переменными
4
$b = 3.1;
$c = true;
var_dump($b, $c);
//float(3.1) bool(true)
Слайд 5
floatval ($var) — возвращает значение заданной переменной в
виде числа с плавающей точкой.
var — значение для
конвертации
$a='12.3HelloWorld';
$float_value_of_var = floatval($a);
echo $float_value_of_var; // 12.3
intval($var[, $base])
base — основание системы исчисления для преобразования
echo intval('42,6'); // 42
echo intval('42', 8); // 34
$value = 3.14;
echo (int)$value ." (". gettype((int)$value). ")"; //3 (integer)
echo (string)$value ." (" . gettype((string)$value) . ")"; //3.14 (string)
echo (boolean)$value . " (" . gettype((boolean)$value) . ")"; //1 (boolean)
Действия с переменными
5
Слайд 7
Жесткая (&) ссылка — переменная, которая является синонимом
другой переменной (элемент массива).
$c = 10;
$d = &$c; //
теперь $d - то же самое, что и $d
$d = 0; //на самом деле $c = 0
echo "d = $d, c = $c"; // выводит “d = 0, c = 0“
Ссылаться можно на элемент массива:
$Spec = array('специальность' => 'ПИЭ', 'группа' =>'310');
$spec = &$Spec['группа'];
echo $Spec['группа'];
echo $spec;
unset ($spec);
Жесткая ссылка не может ссылаться на несуществующий объект:
$A=array('a' => 'aaa', 'b' => 'bbb');
$b=&$A['c']; // создается переменная $b
echo "Элемент с индексом 'c': (".$A['c'].")";
$A['c']="ccc";
echo "Элемент с индексом 'c': (".$A['c'].")";
Ссылки
7
Слайд 8
Символическая ссылка — строковая переменная, хранящая имя другой
переменной. Чтобы получить значение переменной, на которую указывает символическая
ссылка, необходимо применить оператор разыменовывания — дополнительный знак $ перед именем ссылки.
$red= "красный";
$blue= "синий";
$color= "red";
echo $$color;
/*Обычная переменная используется в качестве ссылки. Интерпретатор получает не значение самой переменной, а значение переменной, имя которой хранится в переменной color.
*/
Ссылки
8
Слайд 9
Собственные, новые константы — величины, значения которых не
изменяются в течение работы программы (математические константы, пути к
файлам, разнообразные пароли).
define ($name, $value, $case_sen);
$name - имя константы;
$value - значение константы;
$case_sen - необязательный параметр логического типа,
указывающий, следует ли учитывать регистр букв (true) или нет (false).
define("STUDENTS", 30);
$group = STUDENTS/2;
echo $group; //15
echo STUDENTS; //30
echo students;
Константы
9
Слайд 10
Предопределенные константы:
_ FILE_ — возвращает имя файла,
включая полный путь: ;
echo "Имя файла: " . _ FILE _;
// Имя файла: C:\data\index.php
_ NAMESPACE _ — имя текущего пространства имен.
namespace MySampleNS;
echo "Пр. имен: " . _ NAMESPACE _;// Пр. имен: MySampleNS
_ LINE _ — возвращает текущий номер строки, которую обрабатывает в текущий момент интерпретатор;
_ FUNCTION _ — имя текущей функции;
_ CLASS_ — имя текущего класса;
_ PHP_VERSION _ — версия интерпретатора РНР;
Предопределенные константы
10
Слайд 11
Проверка существования константы
if (defined('STUDENTS')) {
echo STUDENTS;
}
— значение не изменяется в процессе выполнения скрипта;
— имя
константы должно соответствовать правилам имен в PHP (начинается с буквы или символа подчеркивания и состоит из букв, цифр и подчеркиваний);
— константы доступны из любой области видимости;
— нельзя использовать имя константы непосредственно в текстовой строке;
— имя константы не должно начинаться со знака $;
— имя константы зависит от регистра;
Константы
11
Слайд 12
Операции
12
Арифметические операции
а +
b — сложение; а - b — вычитание;
а *
b — умножение; а/ b — деление;
а %b — остаток от деления а на b; а ** b — возведение а в степень b
Строковые операции
а.b — слияние строк а и b;
а[n] —символ строки в позиции n.
${'a'.'b'} = 'hello world'; echo $ab; // hello world
Операции инкремента и декремента
$а++ — увеличение переменной $а на 1;
$а-- — уменьшение переменной $a на 1.
$а = 10;
$b = $а++;
echo"а = $а, b= $b";
$а = 10;
$b = --$а;
echo"а = $а, b = $b”;
Слайд 13
Операции
13
Операции сравнения
>,
и == || (логическое или), &&(логическое и), !(логическое не)
а
== b — истина, если а равно b;
а ! = b — истина, если а не равно b;
а === b — истина, если а эквивалентно b;
а ! ==b — истина, если а не эквивалентно b;
а а > b — истина, если а больше b;
а <= b — истина, если а меньше либо равно b;
а >= b — истина, если а больше либо равно b;
а <=>b — возвращает -1, если а меньше b, 0, если а равно b и 1, если а больше b.
Операции эквивалентности
$first = 0; // ноль
$second=“”; // пустая строка
if ($first == $second) echo "переменные равны";
$first = 0; // ноль
$second=“”; // пустая строка
if ($first === $second) echo "переменные эквиваленты ";
Слайд 14
Условные операции
14
Условные операции
— возвращает у, в случае если х принимает значение
true, и z в случае, если х принимает значение false
х ? у : z
$х = -17;
$х = $х < О ? -$х : $х;
echo $х; // 17
Допускается не указывать средний параметр условного оператора:
$х = $х ?: 1;
echo $х; // 1
Проверка установлено ли значение массива:
if ($_POST["reg"] ? true : false) echo "Кнопка нажата!";
if (isset($_POST["reg"]) ? true : false) echo "Кнопка нажата!";
$val= (isset($_POST["reg"]) ? $_POST["reg"] : false);
Слайд 15
Инструкции require и include
15
require имя_файла;
include имя_файла;
Инструкции однократного включения
include_once($a);
require_once(‘header.php');
Другие инструкции
function —
объявление функции;
return — возврат из функции;
class — объявление класса;
new — создание объекта;
var, private, static, public— определение свойства класса;
yield— передача управления из генератора;
throw — генерация исключения;
try-catch— перехват исключения
Слайд 16
Функции
16
function имяФункции {аргумент1
[=значение1] ,…, аргN[=знN]) {
операторы_тела_функции;
return "значение, возвращаемое функцией";
}
Инструкция return
function_mySqr($n)
{
return $n * $n;
}
echo mySqr(10); // выводит 100
Параметры по умолчанию (задаются совершенно единообразно или опускаются):
function selectltems($items, $selected =0) { ... }
echo selectltems($names, "Значение"); // выбран элемент
echo selectltems ($names); // ни один элемент не выбран по умолчанию
// Ошибка! Опускать параметры можно только справа налево!
function selectltems($selected= 0, $items) {...}
echo selectltems($names);
Слайд 17
Функции. Переменное число параметров
17
function myecho() {
foreach (func_get_args() as $v) {
echo "$v
"; //
выводим элемент }
}
// Отображаем строки одну под другой
myecho("Иванов", "Петров", "Сидоров");
func_get_args() — возвращает список всех аргументов, указанных при вызове функции.
Оператор … (рассматривается как массив) можно использовать перед аргументами. Переменный аргумент ... $surname будет заполняться в зависимости от количества переданных аргументов
function myecho(...$surname){
foreach ($surname as $v) {
echo "$v
"; // выводим элемент }
}
// Отображаем строки одну под другой
myecho("Иванов", "Петров", "Сидоров");
Слайд 18
Функции. Переменное число параметров
18
Оператор … можно использовать при вызове из массива:
function myecho($fst,
$snd, $thd, $fth){
echo "Первый: $fst
";
echo "Второй: $snd
";
echo "Третий: $thd
";
echo "Четвертый: $fth
";
}
// Отображаем строки одну под другой
$surname= ["Иванов", "Петров", "Сидоров", "Иванов"];
myecho(... $surname); ?>
Слайд 19
Функции. Переменное число параметров
19
function myecho() {
for ($i = 0; $i < func_num_args();
$i++) {
echo func_get_arg($i)."
\n"; // выводим элемент
} }
// Отображаем строки одну под другой
myecho("Иванов", "Петров", "Сидоров");.
func_num_args() — возвращает общее число аргументов, переданных функции при вызове.
func_get_arg (int $num) — возвращает значение аргумента с номером $num, заданным при вызове функции. Нумерация отсчитывается с нуля.
func_get_args() — возвращает список всех аргументов, указанных при вызове функции. Чаще всего применение этой функции оказывается практически удобнее, чем первых двух.
Слайд 20
Передача параметров по значению
20
function increment($a) {
echo "Текущее значение: $a
";
$а++;
echo "Послеувеличения: $a
";
}
$num= 10;
echo
"Начальное значение: $num
";
increment($num);
echo "После вызова функции: $num
";
Слайд 21
Передача параметров по значению
21
function increment(&$a) {
//функция increment(&$a) получила доступ к переменной $num
echo"Текущее
значение: $a
";
$а++;
echo"Послеувеличения: $a
";
}
$num= 10;
echo "Начальное значение: $num
";
increment($num);
echo "После вызова функции: $num
";
Слайд 22
Типы аргументов и возвращаемого значения
22
Допускается указывать типы аргументов и тип возвращаемого функцией
значения:
function sum(int $fst, int $snd) : int {
return $fst + $snd;
}
echo sum(2, 2); // 4
echo sum(2.5, 2.5); II4
Режим жесткой типизации аргументов функции (требовние от аргументов функции указанных при объявлении типов):
declare (strict_types = 1);
function sum(int $fst, int $snd) : int {
return $fst + $snd;
}
echo sum(2, 2); // 4
echo sum(2.5, 2.5); // Fatal Error в PHP < 7,
// ExceptionTypeErrorв PHP>=7
Слайд 23
Локальные и глобальные переменные
23
Глобальные переменные — это переменные, которые доступны всей программе,
включая подпрограммы (пользовательские функции).
Локальные переменные — переменные, определенные внутри пользовательской функции. Доступны только внутри функции, в которой они определены.
$а = 100;
function test($a) {
echo $а;
$а++;
}
test(1);
echo $а;
Слайд 24
Локальные и глобальные переменные
24
$globalName = "Глобальная переменная";
function test() {
$localName = "Локальная переменная";
echo
$localName; }
test();
echo $globalName;
echo $localName
$globalName = "Глобальная переменная";
function test() {
$localName = "Локальная переменная";
echo $localName;
global $globalName;
echo $globalName;}
test();
Слайд 25
Локальные и глобальные переменные
25
$GLOBALS ['var'] — ассоциативный массив, содержащий ссылки на все
переменные, объявленные в программе.
$globalName = "Глобальная переменная";
function test() {
echo $GLOBALS['globalName'] . "
";
}
test();
function GlobalVar() {
$GLOBALS['b'] = $GLOBALS['a'] * $GLOBALS['b'];
}
GlobalVar();
echo($b);
Слайд 26
Статические переменные
26
Статическая переменная
— переменная внутри функции, которая сохраняет свое значение после
выхода из функции;
— существует только локальной области видимости функции;
— сохраняет значение после завершения работы функции (когда выполнение программы выходит из области видимости);
— при последующих вызовах функции возвращается значение, которое было сформировано при последнем вызове функции;
— объявление производится с помощью ключевого слова static: $var1;
function Static_a(){
static $a = 1;
$a = $a*2;
echo $a;
}
Static_a(); // $a = 2
echo $a; // $a доступна только внутри функции
Static_a(); // $a =4
Слайд 27
Статические переменные
27
function count()
{
static $count;
$count++;
echo $count;
}
for ($i = 0; $i
5; $i++) count();
function funct(){
static $int = 0; // верно
static $int = 1+2; // неверно (поскольку это выражение)
static $int = sqrt(121); // неверно (поскольку это выражение)
$int++;
echo $int;
}
Слайд 28
Использование функций
28
—
функции позволяют избежать повторения программного кода;
— одну и ту
же функцию можно использовать в разных программах;
— функции повышают уровень модульности программы и облегают ее проектирование;
— каждая функция не должна занимать больше 20-30 строк;
— небольшие, по возможности независимые, части, повысят читабельность, устойчивость и переносимость программ;
— желательно применять стандартные, встроенные (реализованные в ядре РНР) функции.
Слайд 29
Сессии
29
Сессии — механизм,
позволяющий хранить индивидуальные для каждого пользователя данные (имя клиента,
номер счета, содержимое "виртуальной корзины") между запусками сценария.
Сессия — это некоторое место долговременной памяти (обычно часть на жестком диске и часть — в cookies браузера), которое сохраняет свое состояние между вызовами сценариев одним и тем же пользователем.
Слайд 30
Управление сессиями
30
Идентификатор сессии
(Session ID) — уникальное имя для однозначного определения временного
хранилища, которое будет использовано для запоминания данных сессии между запусками сценария.
$_SESSION[] — суперглобальный массив, который позволяет сохранять данные между запросами.
session_id () — функция возвращает текущий идентификатор сессии SID;
session_save_path — функция определения директории для хранения.
Слайд 31
Управление сессиями. Инициализация
31
session_start
() — функция инициализирует механизм сессий для текущего клиента,
запустившего сценарий.
Действия:
— если клиент запускает программу впервые, устанавливается cookies с уникальным идентификатором и создается временное хранилище, ассоциированное с этим идентификатором;
— определяется, какое хранилище связано с текущим идентификатором пользователя;
— если в хранилище имеются какие-то данные, они помещаются в массив $_SESSION.
session_start();
if (!isset($_SESSION['counter'])) $_SESSION['counter']=0;
echo "Вы обновили эту страницу ".$_SESSION['counter']++." раз. ";
echo "
обновить";
?>