Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
PHP basic
Web
Карнаухов Даниил
Компилятор. Интерпретатор.
Компилятор - трансляция программы, составленной на исходном языке высокого
уровня, в эквивалентную программу на низкоуровневом языке, близком
машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера).
Интерпретатор - пооператорный (покомандный, построчный) анализ, обработка и
тут же выполнение исходной программы или запроса (в отличие от компиляции,
при которой программа транслируется без её выполнения).
PHP теги. Встраивание кода в html.
<html>
<head>
<title>PHP теги. Встраивание кода в html.</title>
</head>
<body>
<p>
<?php echo 'Hello world'?>
</p>
</body>
</html>
<?= 'short tag' ?>
<? echo 'Hello world' ?>
Комментарии.
// Это однострочный комментарий, он комметирует все, что находится за ним и до конца строки
/*
Это многострочный комментарий
Все, что находится между символами - не будет исполняться или отображаться.
*/
# Это комментарий в стиле оболочки Unix
Переменные.
Переменные в PHP представлены знаком доллара с последующим именем переменной.
Имя переменной чувствительно к регистру.
$x = 5;
$salary = 12500.00;
$BIG_NUMBER = 100000;
$big_number = 500000;
$4site = 123;
$русский = true;
Типы данных.
Boolean - логическое значение, true или false.
Integer - целочисленное значение. Граничные значения есть в PHP константах
PHP_INT_MAX и PHP_INT_MIN.
Float - он же double, число с плавающей точкой.
String - строки.
Array - массивы.
Object - объекты.
Resource - ресурсы.
NULL - null.
Функции var_dump() и print_r()
$number = 1;
var_dump($number);
$string = 'Hello world';
print_r($string);
Арифметические операции
Ссылки.
$a = 3;
$b = &$a; // $b - это ссылка на a
echo $a; // выводит 3
echo $b; // выводит 3
$a = 4; // меняем значение в переменной $a
echo $a; // выводит 4
echo $b; // выводит 4
Операторы сравнения
Операторы инкремента и декремента
Логические операторы
Строки
Объявление через двойные или одинарные ковычки.
$string1 = 'Hello world';
$string2 = "Hello world";
echo $string1;
echo $string2;
echo 'Это выведет название переменной $string1';
echo "Это выведет содержание переменной $string2";
Синтаксис HEREDOC и NOWDOC
$string1 = <<<HEREDOC
Hello world!
Hello world!
HEREDOC;
$string2 = <<<'NOWDOC'
Hello world!
Hello world!
NOWDOC;
Функции для работы со строками.
Конкатенация - соединение строк.
$string1 = 'Hello';
$string2 = 'world';
echo $string1 . ' ' . $string2;
Определение длины строки - strlen($string).
$string1 = 'Hello';
echo strlen($string1);
Выделение подстроки - substr($string, $start [, $length])
$string1 = 'Hello';
echo substr($string1, 1); // ello
echo substr($string1, 1, 2); // el
Поиск подстроки - strpos($haystack, $needle, [, $offset])
$where = 'Hello';
$find = 'el';
$find2 = 'world';
echo strpos($where, $find);
echo strpos($where, $find2);
Массивы
Массив - это набор элементов, к каждому из которых можно обратиться по индексу
или имени. Все массивы в PHP являются ассоциативными, т.е. остоят из пар
"ключ"="значение".
Объявление массивов:
$array = array(
"foo" => "bar",
"bar" => "foo",
);
// Начиная с PHP 5.4
$array = [
"foo" => "bar",
"bar" => "foo",
];
$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',
];
Операторы для работы с массивами
Функции для работы с массивами
count($array [, $mode]) - размер массива
$array = [1, 2, 3, 4];
echo count($array); // 4
array_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));
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);
Условия.
Условная конструкция 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 ' ... ';
}
Switch
$a = 'Hello';
switch($a) {
case 'Hello' : {
echo $a . ' world';
break;
}
case 'world' : {
echo 'Hello ' . $a;
break;
}
default: {
echo 'Hello world and ' . $a;
}
}
Тернарный оператор
Схема: логическое выражение ? выражение1 : выражение2.
$date = isset($_GET['start_date']) ? $_GET['start_date'] : null;
$age = rand(200);
$message = ($age < 3) ? 'Здравствуй, малыш!' :
($age < 18) ? 'Привет!' :
($age < 100) ? 'Здравствуйте!' :
'Какой необычный возраст!';
Циклы.
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.
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;
}
$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);
Функции exit() и die()
Функции exit($string) и die($string) - эквивалентны. Они выводят сообщение,
переданное в них и прекращают работу скрипта.
die('exit');
exit('something wrong');
exit;
die;
Require и Include
include “file” / include(“file”) - подключает и выполняет указанный файл.
include "3.php";
echo 'Мы вывели содержимое файла 3.php';
require “file” / require(“file”) - аналог функции include.
require "3.php";
echo 'А затем еще раз подключили и вывели файл 3.php';
eval в php
eval ($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;'
];
isset и unset
isset ($var) - проверяет, была-ли определена переменная $var со значением
отличным от null.
$var = 1;
var_dump($var); // true
var_dump($var1); // false
unset ($var) - удаляет переменную $var.
$arr = [
'id' => 1,
'login' => 'admin',
'key' => 'x1m2391x3',
];
var_dump($arr);
unset($arr['key']);
Глобальные переменные
Переменные, которые доступны всей программе, включая подпрограммы
(пользовательские функции). Чтобы сделать переменную глобальной, необходимо
добавить ключевое слово 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"] ;
Дата и время в 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) - устанавливает переданную временную задану.
Константы
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;
Спасибо за внимание.

More Related Content

PHP basic

  • 2. Компилятор. Интерпретатор. Компилятор - трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера). Интерпретатор - пооператорный (покомандный, построчный) анализ, обработка и тут же выполнение исходной программы или запроса (в отличие от компиляции, при которой программа транслируется без её выполнения).
  • 3. PHP теги. Встраивание кода в html. <html> <head> <title>PHP теги. Встраивание кода в html.</title> </head> <body> <p> <?php echo 'Hello world'?> </p> </body> </html> <?= 'short tag' ?> <? echo 'Hello world' ?>
  • 4. Комментарии. // Это однострочный комментарий, он комметирует все, что находится за ним и до конца строки /* Это многострочный комментарий Все, что находится между символами - не будет исполняться или отображаться. */ # Это комментарий в стиле оболочки Unix
  • 5. Переменные. Переменные в PHP представлены знаком доллара с последующим именем переменной. Имя переменной чувствительно к регистру. $x = 5; $salary = 12500.00; $BIG_NUMBER = 100000; $big_number = 500000; $4site = 123; $русский = true;
  • 6. Типы данных. Boolean - логическое значение, true или false. Integer - целочисленное значение. Граничные значения есть в PHP константах PHP_INT_MAX и PHP_INT_MIN. Float - он же double, число с плавающей точкой. String - строки. Array - массивы. Object - объекты. Resource - ресурсы. NULL - null.
  • 7. Функции var_dump() и print_r() $number = 1; var_dump($number); $string = 'Hello world'; print_r($string);
  • 9. Ссылки. $a = 3; $b = &$a; // $b - это ссылка на a echo $a; // выводит 3 echo $b; // выводит 3 $a = 4; // меняем значение в переменной $a echo $a; // выводит 4 echo $b; // выводит 4
  • 13. Строки Объявление через двойные или одинарные ковычки. $string1 = 'Hello world'; $string2 = "Hello world"; echo $string1; echo $string2; echo 'Это выведет название переменной $string1'; echo "Это выведет содержание переменной $string2";
  • 14. Синтаксис HEREDOC и NOWDOC $string1 = <<<HEREDOC Hello world! Hello world! HEREDOC; $string2 = <<<'NOWDOC' Hello world! Hello world! NOWDOC;
  • 15. Функции для работы со строками. Конкатенация - соединение строк. $string1 = 'Hello'; $string2 = 'world'; echo $string1 . ' ' . $string2; Определение длины строки - strlen($string). $string1 = 'Hello'; echo strlen($string1);
  • 16. Выделение подстроки - substr($string, $start [, $length]) $string1 = 'Hello'; echo substr($string1, 1); // ello echo substr($string1, 1, 2); // el Поиск подстроки - strpos($haystack, $needle, [, $offset]) $where = 'Hello'; $find = 'el'; $find2 = 'world'; echo strpos($where, $find); echo strpos($where, $find2);
  • 17. Массивы Массив - это набор элементов, к каждому из которых можно обратиться по индексу или имени. Все массивы в PHP являются ассоциативными, т.е. остоят из пар "ключ"="значение". Объявление массивов: $array = array( "foo" => "bar", "bar" => "foo", ); // Начиная с PHP 5.4 $array = [ "foo" => "bar", "bar" => "foo", ];
  • 18. $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', ];
  • 19. Операторы для работы с массивами
  • 20. Функции для работы с массивами count($array [, $mode]) - размер массива $array = [1, 2, 3, 4]; echo count($array); // 4 array_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));
  • 21. 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);
  • 22. Условия. Условная конструкция 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 ' ... '; }
  • 23. Switch $a = 'Hello'; switch($a) { case 'Hello' : { echo $a . ' world'; break; } case 'world' : { echo 'Hello ' . $a; break; } default: { echo 'Hello world and ' . $a; } }
  • 24. Тернарный оператор Схема: логическое выражение ? выражение1 : выражение2. $date = isset($_GET['start_date']) ? $_GET['start_date'] : null; $age = rand(200); $message = ($age < 3) ? 'Здравствуй, малыш!' : ($age < 18) ? 'Привет!' : ($age < 100) ? 'Здравствуйте!' : 'Какой необычный возраст!';
  • 25. Циклы. 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.
  • 26. 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; }
  • 27. $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);
  • 28. Функции exit() и die() Функции exit($string) и die($string) - эквивалентны. Они выводят сообщение, переданное в них и прекращают работу скрипта. die('exit'); exit('something wrong'); exit; die;
  • 29. Require и Include include “file” / include(“file”) - подключает и выполняет указанный файл. include "3.php"; echo 'Мы вывели содержимое файла 3.php'; require “file” / require(“file”) - аналог функции include. require "3.php"; echo 'А затем еще раз подключили и вывели файл 3.php';
  • 30. eval в php eval ($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;' ];
  • 31. isset и unset isset ($var) - проверяет, была-ли определена переменная $var со значением отличным от null. $var = 1; var_dump($var); // true var_dump($var1); // false unset ($var) - удаляет переменную $var. $arr = [ 'id' => 1, 'login' => 'admin', 'key' => 'x1m2391x3', ]; var_dump($arr); unset($arr['key']);
  • 32. Глобальные переменные Переменные, которые доступны всей программе, включая подпрограммы (пользовательские функции). Чтобы сделать переменную глобальной, необходимо добавить ключевое слово 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"] ;
  • 33. Дата и время в 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) - устанавливает переданную временную задану.
  • 34. Константы 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;