Здравствуйте. Продолжаю свою серию уроков о программировании.
В этот раз расскажу о популярном серверном языке, который называется PHP. Он поддерживается у большинства популярных хостингов (Хостинг - место хранения и запуска сайтов), например, https://beget.com/ru
Чаще его используют вместе с базами данных Mysql, но сейчас рассмотрим без них.
Темы урока:
- Начало и завершение php файла.
- Переменные и массивы;
- Математические операции (Сложение, вычитание, умножение, деление, степень и корень);
- Функции;
- Вывод на экран;
- html код и php;
- Подключение файлов;
- Комментарии (Виды комментариев в php);
- Условия.
- Циклы.
1. Начало и завершение php файла.
Все php файлы начинаются с <?
, а заканчиваются ?>
. Хотя ?> многие разработчики опускают - причина была, но какая, не помню.
Также этими конструкциями выделяется php код внутри HTML.
2. Переменные и массивы;
Все они начинаются со знака $, т.е.:
$name = 'denis'; // Это переменная со значением 'Denis'
$man['name'] = 'Denis'; // Это массив man с ключём name и значением 'Denis'
$man['lastname'] = 'Skripnik'; // Тот-же массив, но ключ 'lastname', а значение - 'Skripnik'
Другие варианты написания массива:
Наш массив, представленный выше, можно представить так:
$man = array(
'name' => 'Denis',
'lastname' => 'Skripnik'
);
Или:
$man = [
'name' => 'Denis',
'lastname' => 'Skripnik'
];
И, наконец, последний вариант, который больше подходит для массивов, где ключ (name, lastname в предыдущих примерах) не нужен. Давайте, к примеру, перечислим то, что есть у меня на столе:
$table = array('noutbook', 'monitor', 'keybord', 'other');
Также это можно прописать с квадратными скобками:
$table = ['noutbook', 'monitor', 'keybord', 'other'];
В этом случае ключи массива будут иметь числовые наименования, но не от 1, а от 0, заканчиваться не 4, а 3. Также сей массив можно было бы представить по-старому:
$table = [
0 => 'noutbook',
1 => 'monitor',
2 => 'keybord',
3 => 'other'];
Вот так.
3. Математические операции
Перечислю знаки кратко:
- "+" - сложение;
- "-" - вычитание;
- "*" - умножение;
- "/" - деление;
- "^" - возведение в степень;
- sqrt() - квадратный корень;
- "^(1/3)' - Думаю, поняли, как создавать корни других степеней.
Пример:
$math = 3*($var1 + $var2)/$n - 4*(sqrt($n) + 9^($var2/5))^3;
Как видете, можно писать такие достаточно сложные выражения (Главное не забывать правильно расставлять скобки, чтоб скрипт соблюдал очерёдность вычислений).
Пусть переменные будут иметь следующие значения:
$var1 = 5;
$var2 = 20;
$n = 4;
Тогда выражение будет таким:
$math = 3*(5 + 20)/4 - 4*(sqrt(4) + 9^(20/5))^3;
Оно преобразуется в следующее:
$math = 75/4 - 4*(2 + 9^4)^3;
А оно:
$math = 18.75 - 4*(2 + 6561)^3;
Далее скрипт изменяет его так:
$math = 18.75 - 4*282687895547;
И под конец:
$math = 18.75 - 1130751582188;
И результат:
$math = -1130751582169.25;
Конечно, не очень удачное выражение выбрал, но думаю показал наглядно, что делает php.
Естественно, весь этот процесс в скрипте или в результате не отображается, но фоново именно так подсчитывает.
4. Функции;
Как и в js, они начинаются с function. Отличие лишь в том, что переменные все и массивы начинаются с $.
function summ($n1, $n2) {
$s = $n1+$n2;
return $s;
}
summ(5, 13);
5. Вывод на экран;
Производится при помощи конструкции echo. Давайте выведем функцию summ, которая приняла числа и возвратила результат суммирования:
echo summ(5, 13);
Для объединения строк/переменных необходимо использовать не +, а точку:
echo '<p>Сумма чисел 5 и 13: '.summ(5, 13).'</p>';
Как видете, можно и html код также добавлять.
А если бы 5 и 13 были бы представлены переменными $chislo1 и $chislo2, вводили бы так:
echo '<p>Сумма чисел '.$chislo1.' и '.$chislo2.': '.summ($chislo1, $chislo2).'</p>';
Думаю, понятно.
Если мы введём вместо апострофов кавычки, можно будет не отделять переменные от слов:
echo "<p>Сумма чисел $chislo1 и $chislo2: ".summ($chislo1, $chislo2)."</p>";
6. html код и php;
Есть 2 метода вставки HTML:
- В echo (СМ. выше). Но тут есть нюанс:
Если вы в echo прописали кавычки, в html коде значения атрибутов должны заключаться в апострофы, и наоборот: если в echo апострофы, HTML атрибуты должны иметь значения в кавычках. Ну и если что-то в тексте пишете в кавычках, надо быть осторожными при использовании echo; - Закрыть ?> и писать HTML в привычном виде, а затем, когда надо вставлять php код, пишем "<?php" (Без кавычек).
Пример с ошибочным echo:
echo "<p align="center">Текст по центру, но его не будет из-за кавычек в атрибуте align.</p>";
Верный вариант 1:
echo '<p align="center">Текст по центру, будет выведен.</p>';
Верный вариант 2:
echo "<p align='center'>Текст по центру, будет выведен.</p>";
Теперь пример вывода HTML после закрытия php:
$var = 'Какой-то php код, в нашем случае переменная пусть будет';
?>
<div align="center" id='text'>А здесь HTML код с привычными нам атрибутами, тегами и ПР. Обращать внимание на верное написание кавычек, как в echo, не нужно.</div>
<?php
// Опять php
Как видете, всё просто.
Как выводить значение переменной в html коде:
- Файл должен иметь формат .php;
- Первый способ - это написать
<?php echo $name; ?>
- Второй, который является более кратким и красивым:
<?= $name ?>
.
Пример 1:
$ya = 'Denis';
?>
<p> My name is <?php echo $ya; ?>.</p>
Пример 2:
$ya = 'Denis';
?>
<p>My name is <?= $ya ?>.</p>
7. Подключение файлов;
Есть 3 варианта подключения:
include 'Путь-к-файлу';
- Конструкция include предназначена для включения файлов в код сценария PHP во время исполнения;require 'путь-к-файлу';
- Конструкция require позволяет включать файлы в PHP сценарий до выполнения сценария PHP;require_once 'путь-к-файлу';
= Позволяет случайно не подключить 1 файл дважды, что очень удобно при работе с большими php проектами.
Пример:
<?php
require_once 'header.php';
require_once 'main.php';
require_once 'footer.php';
?>
Это я привёл структуру, которую часто используют в php сайтах:
- header.php - верхняя часть html кода;
- main.php - основная часть (Контент);
- footer.php- Подвал сайта, нижняя часть html кода.
Иногда ещё между footer и main добавляется sidebar.php.
8. Комментарии (Виды комментариев в php);
- "//" без кавычек - однострочные комментарии. Пример:
// комментарий к коду
- "#" - такой-же однострочный вид комментариев:
# комментарий
- Следующий вид комментариев:
/* Начало комментария
в несколько строк
*/
9. Условия.
Их также 2 вида. Отличие в первом лишь в том, что вместо 3 равно используется 2:
- if:
if ($num1 + num2 == 9) {
echo 'верно';
} else if ($num1 + $num2 > 9) {
echo 'Сумма > 9';
} else {
echo 'Сумма меньше 9';
}
- Его также можно представить в виде switch:
switch ($num1 + $num2) {
case 9:
echo 'верно';
break;
case 13:
echo '> 9';
break;
default:
echo "Неверно";
}
Так как case показывает то, чему равно, поэтому во втором варианте не прописать точно такие-же, как в if, условия.
10. Циклы:
- for. Давайте, например, выведем все числа от 1 до 10:
for ($a = 1; $a < 10; $a++) {
echo $a.'<br />';
}
Выведет:
1
2
3
4
5
6
7
8
9
- Цикл while:
Пример выше можно представить так:
while ($a < 10) {
echo $a.'<br />';
$a++
}
Этим циклом давно не пользовался, поэтому могу ошибаться;
- foreach:
Цикл для чтения и разбивки массива.
Вспомним пример с массивом $man:
$man = [
'name' => 'Denis',
'lastname' => 'Skripnik'
]
А теперь сделаем цикл:
foreach ($man as $key => $value) { // Вместо key и value могут быть любые переменные. Key - ключ массива, value - значение.
echo "<p>My $key is $value.</p>";
}
На странице появится:
My name is Denis.
My lastname is Skripnik.
А если бы мы написали так:
$man = ['Denis' => 'Skripnik'];
Вывелось бы: my Denis is Skripnik. Соответственно в цикле вывод пришлось бы изменить так:
foreach ($man as $firstname => $lastname) {
echo "<p>My name is $firstname $lastname.</p>";
}
Всё
Для более углублённого изучения советую изучать документацию http://php.net/manual/ru/
Hello! Your post has been resteemed and upvoted by @ilovecoding because we love coding! Keep up good work! Consider upvoting this comment to support the @ilovecoding and increase your future rewards! ^_^ Steem On!
Reply !stop to disable the comment. Thanks!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit