Download - PHP basic
![Page 1: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/1.jpg)
PHP basicWeb
Карнаухов Даниил
![Page 2: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/2.jpg)
Компилятор. Интерпретатор.Компилятор - трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера).
Интерпретатор - пооператорный (покомандный, построчный) анализ, обработка и тут же выполнение исходной программы или запроса (в отличие от компиляции, при которой программа транслируется без её выполнения).
![Page 3: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/3.jpg)
PHP теги. Встраивание кода в html.<html><head>
<title>PHP теги. Встраивание кода в html.</title></head><body>
<p><?php echo 'Hello world'?>
</p></body></html>
<?= 'short tag' ?>
<? echo 'Hello world' ?>
![Page 4: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/4.jpg)
Комментарии.// Это однострочный комментарий, он комметирует все, что находится за ним и до конца строки/* Это многострочный комментарий Все, что находится между символами - не будет исполняться или отображаться.*/# Это комментарий в стиле оболочки Unix
![Page 5: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/5.jpg)
Переменные.Переменные в PHP представлены знаком доллара с последующим именем переменной.Имя переменной чувствительно к регистру.$x = 5;$salary = 12500.00;$BIG_NUMBER = 100000;$big_number = 500000;$4site = 123;$русский = true;
![Page 6: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/6.jpg)
Типы данных.Boolean - логическое значение, true или false.Integer - целочисленное значение. Граничные значения есть в PHP константах PHP_INT_MAX и PHP_INT_MIN.Float - он же double, число с плавающей точкой.
String - строки.
Array - массивы.
Object - объекты.
Resource - ресурсы.
NULL - null.
![Page 7: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/7.jpg)
Функции var_dump() и print_r()$number = 1;
var_dump($number);
$string = 'Hello world';
print_r($string);
![Page 8: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/8.jpg)
Арифметические операции
![Page 9: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/9.jpg)
Ссылки.$a = 3;$b = &$a; // $b - это ссылка на a
echo $a; // выводит 3echo $b; // выводит 3
$a = 4; // меняем значение в переменной $a
echo $a; // выводит 4echo $b; // выводит 4
![Page 10: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/10.jpg)
Операторы сравнения
![Page 11: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/11.jpg)
Операторы инкремента и декремента
![Page 12: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/12.jpg)
Логические операторы
![Page 13: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/13.jpg)
СтрокиОбъявление через двойные или одинарные ковычки.
$string1 = 'Hello world';$string2 = "Hello world";
echo $string1;echo $string2;
echo 'Это выведет название переменной $string1';echo "Это выведет содержание переменной $string2";
![Page 14: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/14.jpg)
Синтаксис HEREDOC и NOWDOC$string1 = <<<HEREDOCHello world!Hello world!HEREDOC;
$string2 = <<<'NOWDOC'Hello world!Hello world!NOWDOC;
![Page 15: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/15.jpg)
Функции для работы со строками.Конкатенация - соединение строк.
$string1 = 'Hello';$string2 = 'world';echo $string1 . ' ' . $string2;Определение длины строки - strlen($string).
$string1 = 'Hello';echo strlen($string1);
![Page 16: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/16.jpg)
Выделение подстроки - substr($string, $start [, $length])$string1 = 'Hello';echo substr($string1, 1); // elloecho substr($string1, 1, 2); // el
Поиск подстроки - strpos($haystack, $needle, [, $offset])
$where = 'Hello';$find = 'el';$find2 = 'world';
echo strpos($where, $find);echo strpos($where, $find2);
![Page 17: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/17.jpg)
МассивыМассив - это набор элементов, к каждому из которых можно обратиться по индексу или имени. Все массивы в PHP являются ассоциативными, т.е. остоят из пар "ключ"="значение".Объявление массивов:
$array = array( "foo" => "bar", "bar" => "foo",);
// Начиная с PHP 5.4$array = [ "foo" => "bar", "bar" => "foo",];
![Page 18: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/18.jpg)
$array = [1, 2, 3, 4, 'wow_string_O_o'];echo $array[1]; // 2
$array = [ 'string', 0 => 'null index', 3 => 'third index',];print_r($array); // ???
$userArray = [ 1, 'key' => 'auynx2p318jnasd', 'login' => 'admin',];
![Page 19: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/19.jpg)
Операторы для работы с массивами
![Page 20: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/20.jpg)
Функции для работы с массивамиcount($array [, $mode]) - размер массива
$array = [1, 2, 3, 4];echo count($array); // 4array_merge($array1 [, $array2 ...]) - перемешивание двух и более массивов$array1 = [1, 2, 3, 4];$array2 = [5, 6, 7, 8];$array3 = array_merge($array1, $array2); // 1, 2, 3, 4, 5, 6, 7, 8
in_array($needle, $haystack [, $strict]) - проверяет, есть-ли в массиве значение
$array = ['Hello', 'world'];var_dump(in_array('world', $array));var_dump(in_array('test', $array));
![Page 21: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/21.jpg)
key_exists($key, $array) - проверяет, есть-ли в массиве указанный ключ
$array = ['Hello' => 1, 'world' => 2];var_dump(key_exists('Hello', $array));var_dump(key_exists('test', $array));
sort(&$array [, $sort_flag]) - сортирует массив по возрастанию
$array = [2, 5, 6, 11, 8];sort($array);var_dump($array);
![Page 22: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/22.jpg)
Условия.Условная конструкция if / if-else / if-elseif-else
$a = 13;
if ($a != 13) { echo 'var != 13';} else { echo 'var == 13';}if ($a == 13) { echo 'var == 13';} else if ($a > 13) { echo 'var > 13';} else { echo ' ... ';}
![Page 23: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/23.jpg)
Switch$a = 'Hello';
switch($a) { case 'Hello' : { echo $a . ' world'; break; } case 'world' : { echo 'Hello ' . $a; break; } default: { echo 'Hello world and ' . $a; }}
![Page 24: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/24.jpg)
Тернарный операторСхема: логическое выражение ? выражение1 : выражение2.
$date = isset($_GET['start_date']) ? $_GET['start_date'] : null;
$age = rand(200);
$message = ($age < 3) ? 'Здравствуй, малыш!' : ($age < 18) ? 'Привет!' : ($age < 100) ? 'Здравствуйте!' : 'Какой необычный возраст!';
![Page 25: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/25.jpg)
Циклы.for ($expr1; $expr2; $expr3) - выполняется, пока истинно выражение $expr2.foreach ($array_expr as $value) / foreach ($array_expr as $key => $value) - перебирает все элементы из массива $array_expr.while ($expr) - выполняется, пока истинно выражение $expr.
do { … } while ($expr) - Выполняется один раз и далее, пока истинно выражение $expr.
![Page 26: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/26.jpg)
for ($iterator = 0; $iterator < 100; $iterator++) { echo $iterator; if (($iterator % 10) == 0) continue; if ($iterator == 89) break;}
$array = [1, 2, 3, 4 ,5];foreach ($array as $value) { echo $value;}
$array = [ 'id' => 13, 'login' => 'admin', 'key' => 'x1m389kqwejnxqjkw',];foreach ($array as $key => $value) { echo $key . ' : ' . $value;}
![Page 27: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/27.jpg)
$age = 0;while ($true) { echo 'age: ' . $age; $age++;
if ($age == 6) { echo 'Go to school'; break; }}$age = 0;do { echo 'age: ' . $age;} while ($age > 18);
![Page 28: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/28.jpg)
Функции exit() и die()Функции exit($string) и die($string) - эквивалентны. Они выводят сообщение, переданное в них и прекращают работу скрипта.
die('exit');exit('something wrong');exit;die;
![Page 29: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/29.jpg)
Require и Includeinclude “file” / include(“file”) - подключает и выполняет указанный файл.
include "3.php";echo 'Мы вывели содержимое файла 3.php';
require “file” / require(“file”) - аналог функции include.
require "3.php";echo 'А затем еще раз подключили и вывели файл 3.php';
![Page 30: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/30.jpg)
eval в phpeval ($code) - выполняет произвольный php-код переданный в строке $code.eval('echo "Hello world";');
eval('$a=4;$b=isset($_GET[\'login\'])?strrolower($_GET[\'login\']):\'admin\';if($b!=\'admin\'){echo $b}else{echo $a}');$authEntity = [ 'type' => 'ROLE', 'description' => 'auth entity for user', 'bizRule' => 'if ($data->user_access_type == 4) return true; else return false;'];
![Page 31: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/31.jpg)
isset и unsetisset ($var) - проверяет, была-ли определена переменная $var со значением отличным от null.
$var = 1;var_dump($var); // truevar_dump($var1); // falseunset ($var) - удаляет переменную $var.
$arr = [ 'id' => 1, 'login' => 'admin', 'key' => 'x1m2391x3',];var_dump($arr);unset($arr['key']);
![Page 32: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/32.jpg)
Глобальные переменныеПеременные, которые доступны всей программе, включая подпрограммы (пользовательские функции). Чтобы сделать переменную глобальной, необходимо добавить ключевое слово global.
$SECONDS_IN_MINUTE = 60;global $SECONDS_IN_MINUTE;
Суперглобальные переменные: $GLOBALS, $_SERVER, $_GET, $_POST, $_FILES, $_COOKIE, $_SESSION, $_REQUEST, $_ENV.
echo $_SERVER['REMOTE_ADDR'];echo $_SERVER["REDIRECT_STATUS"] ;
![Page 33: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/33.jpg)
Дата и время в php.date($format [, $timestamp]) - возвращает строку которой соответствует передданое время. $format - задает формат возвращаемой даты, $timestamp - метка времени в форматe unixtime.
strtotime($time [, $now]) - возвращает метку времени в формате unixtime. $time - строка обозначающее время относительно текущего времени
$date = date('Y-m-d H:i:s');$date = date('Y-m-d H:i:s', strtotime('+ 1 hour'));
date_default_timezone_set ($timeZone) - устанавливает переданную временную задану.
![Page 34: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/34.jpg)
Константыdefine('SECONDS_IN_MINUTE', 60);define('DAY_IN_YEAR', 365);echo SECONDS_IN_MINUTE;echo DAY_IN_YEAR;
const DAY_IN_WEEK = 7;const HOUR_IN_DAY = 24;echo DAY_IN_WEEK;echo HOUR_IN_DAY;
![Page 35: PHP basic](https://reader038.vdocuments.pub/reader038/viewer/2022110108/58f0e53b1a28abf56f8b45ed/html5/thumbnails/35.jpg)
Спасибо за внимание.