PHP для чайников

PHP для чайников (в моем лице) — часть 3

Привет всем! Сегодня попробуем ускориться в изучении PHP, и в рамках записи разберем сразу несколько вопросов. Будет сумбурно (наверное), а там — вдруг не очень? Итак, поехали!

1. Вставка PHP-кода в HTML-страницу:

<html>
<head>
<title>Пример/title>
</head>
<body>
Какой-то наш код для примера
<?php 
echo "Происходит исполнение скрипта"; 
?>
И снова код страницы
</body>
</html>
  1. Конкатенация (сложение) строк делается с помощью точки. Смотрим пример:
<?php 
echo "Hello, "."world"."!"; #Hello, world! 
?>
  1. Создание переменной + присвоение этой переменной случайного числа и вывод полученного значения. Сразу уточню — в PHP есть два варианта генерации случайных чисел:

— функция rand(min, max);
— и второй вариант — более случайный по сравнению с первым, и работающий в четыре раза быстрее — mt_rand(min, max);
— есть и третий вариант, который позволяет генерировать криптографически безопасные числа — random_int(min, max);
Посмотрим на примере (возьмем второй вариант генерации случайных чисел).

<?php 
$random_number = mt_rand(1, 999); 
echo ("Random number: "), $random_number; 
?>
  1. Генерация случайного набора символов из имеющегося списка:
<?php 
$symbol = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 
echo substr(str_shuffle($symbol), 0, 12); 
?>

где:
— $symbol — список всех символов, из которых мы будем выдергивать случайные 12 (для этого служит str_shuffle(откуда), начальное количество символов, конечное количество символов)

  1. Математические действия в PHP (сгенерируем два случайных числа, которые сложим-вычтем-умножим-разделим):
<?php 
$variable1 = mt_rand(1, 999); 
$variable2 = mt_rand(1, 999); 
echo("Переменная 1: "), $variable1; 
echo nl2br("\r\n"); 
echo("Переменная 2: "), $variable2; 
echo nl2br("\r\n"); 
echo ("Сложение: ".$variable1 + $variable2); 
echo nl2br("\r\n"); 
echo("Вычитание: "), $variable1 - $variable2; 
echo nl2br("\r\n"); 
echo("Умножение: "), $variable1 * $variable2; 
echo nl2br("\r\n"); 
echo("Деление: "), $variable1 / $variable2; 
?>

и да — вот этот код: echo nl2br(«\r\n»); — для переноса строки. Я пока не разобрался, как это сделать более культурно 🙁 Но все впереди… если знаете, как это реализовать нормально и правильно — подскажите, пожалуйста 🙂

  1. Операторы сравнения:
> Больше, чем
< Меньше, чем
>= Меньше или равно 
<= Больше или равно
== Равно
!= Не равно
  1. Пример работы с оператором if:
<?php 
$random_number = mt_rand(1,7); 
echo "Случайное число: ", $random_number; 
if ($random_number &gt; 5) { 
echo nl2br("\r\n"); 
echo "Ух ты! Вам выпало число больше 5 :) !"; 
} 
?>

Тут вроде все просто… 🙂 Если условие выполняется — делаем то, что указано в фигурных скобках. Если нет — то не выводим.

  1. Пример работы с оператором else:
<?php 
$name="Edgar"; 
if ($name=="Edgar") { 
echo "Я тебя знаю :)"; 
} 
else { 
echo "А ты кто такой вообще?"; 
} 
?>

Собственно — тоже все просто: если переменная $name равна «Эдгар» — выводим сообщение, что мы его знаем. А если переменная не равна «Эдгар» — выводим сообщение о том, что мы не знаем, кто это.

  1. Пример работы с оператором switch. Зачем он нужен вообще? Иногда бывает так, что действия программы нельзя (или скучно) сформировать операторами if|else|elseif. Именно для этого случая имеется оператор switch, с помощью которого мы можем оперировать неограниченным количеством ветвлений программы. Более подробно код, показанный ниже выглядит так: switch (случайное число) задает номер ветки, по которой будет идти программа. Конструкция case 0 (1, 2) — параметр, который сравнивается программой с указанным в switch. И — как только сходство найдено — мы переключаемся на нужную ветку. Интересно, что если ветка не находится — срабатывает ветка default. И да — break нужен для того, что бы программа работала дальше, после того, как выполнит нужное действие в ветке.
<?php 
$random_switch = mt_rand(0, 3);
switch ($random_switch) {
case 0: echo "The value is 0";
break;
 
case 1: echo "The value is 1";
break;
 
case 2: echo "The value is 2";
break;
 
default: echo "The value isn’t 0, 1 or 2";
break;
}
?>

Пока хватит 🙂 Спасибо за внимание! До связи.