OXBOX Help

PHP: Основы языка

Введение

PHP (PHP: Hypertext Preprocessor) - это серверный язык программирования с открытым исходным кодом, специально разработанный для веб-разработки.

Основные характеристики:

  • Интерпретируемый язык - код выполняется построчно

  • Серверный язык - выполняется на веб-сервере

  • Кроссплатформенный - работает на Windows, Linux, macOS

  • Интегрируется с HTML - PHP код может быть встроен в HTML

Синтаксис

Структура файла

<?php // PHP код начинается с открывающего тега echo "Hello World!"; // Все инструкции заканчиваются точкой с запятой $variable = "value"; ?> <!-- Можно смешивать PHP и HTML --> <html> <body> <?php echo "Текущая дата: " . date('Y-m-d'); ?> </body> </html>
<?php // Однострочный комментарий /* Многострочный комментарий Может занимать несколько строк */ # Альтернативный стиль однострочного комментария /** * DocBlock комментарий * Используется для документации * @param string $name Имя пользователя * @return string */

Переменные и типы данных

Объявление переменных

<?php // Переменные начинаются со знака доллара $ $name = "Иван"; $age = 25; $height = 1.75; $is_active = true; $skills = array("PHP", "MySQL", "JavaScript"); // Динамическая типизация $variable = "строка"; // string $variable = 42; // теперь integer $variable = 3.14; // теперь float

Основные типы данных

Скалярные типы:

<?php // String (Строки) $string1 = "Hello World"; $string2 = 'Single quotes'; $string3 = "Переменная: $string1"; // интерполяция // Integer (Целые числа) $int1 = 123; $int2 = -456; $int3 = 0123; // восьмеричное $int4 = 0x1A; // шестнадцатеричное // Float (Дробные числа) $float1 = 1.234; $float2 = 1.2e3; // 1200 $float3 = 7E-10; // 0.0000000007 // Boolean (Логические значения) $bool1 = true; $bool2 = false;

Составные типы:

<?php // Array (Массивы) $array1 = array(1, 2, 3); $array2 = [1, 2, 3]; // короткий синтаксис $assoc_array = [ "name" => "John", "age" => 30, "city" => "Moscow" ]; // Object (Объекты) class User { public $name; public function getName() { return $this->name; } } $user = new User();

Специальные типы:

<?php // NULL $var = null; // Resource (Ресурсы) $file = fopen("test.txt", "r"); // ресурс файла $connection = mysqli_connect(); // ресурс соединения с БД

Операторы в PHP

Арифметические операторы

<?php $a = 10; $b = 3; echo $a + $b; // 13 - сложение echo $a - $b; // 7 - вычитание echo $a * $b; // 30 - умножение echo $a / $b; // 3.333... - деление echo $a % $b; // 1 - остаток от деления echo $a ** $b; // 1000 - возведение в степень // Инкремент и декремент $c = 5; echo ++$c; // 6 (префиксный инкремент) echo $c++; // 6 (постфиксный инкремент) echo --$c; // 6 (префиксный декремент) echo $c--; // 6 (постфиксный декремент)

Операторы сравнения

<?php $a = 5; $b = "5"; $c = 10; var_dump($a == $b); // bool(true) - равно по значению var_dump($a === $b); // bool(false) - идентично (значение и тип) var_dump($a != $b); // bool(false) - не равно var_dump($a !== $b); // bool(true) - не идентично var_dump($a < $c); // bool(true) - меньше var_dump($a > $c); // bool(false) - больше var_dump($a <= $c); // bool(true) - меньше или равно var_dump($a >= $c); // bool(false) - больше или равно

Логические операторы

<?php $condition1 = true; $condition2 = false; var_dump($condition1 && $condition2); // bool(false) - И var_dump($condition1 || $condition2); // bool(true) - ИЛИ var_dump(!$condition1); // bool(false) - НЕ var_dump($condition1 and $condition2); // bool(false) - И (низкий приоритет) var_dump($condition1 or $condition2); // bool(true) - ИЛИ (низкий приоритет) var_dump($condition1 xor $condition2); // bool(true) - исключающее ИЛИ

Строковые операторы

<?php $str1 = "Hello"; $str2 = "World"; // Конкатенация $result = $str1 . " " . $str2; // "Hello World" // Конкатенация с присваиванием $str1 .= " PHP"; // $str1 теперь "Hello PHP"

Условные конструкции

Оператор if-elseif-else

<?php $age = 20; $has_license = true; if ($age < 18) { echo "Вы несовершеннолетний"; } elseif ($age >= 18 && $age < 65) { if ($has_license) { echo "Вы можете водить автомобиль"; } else { echo "Вам нужно получить права"; } } else { echo "Вы пенсионер"; }

Тернарный оператор

<?php $age = 20; $status = ($age >= 18) ? "совершеннолетний" : "несовершеннолетний"; // Сокращенная форма $name = $_GET['name'] ?? 'Гость'; // Если не установлено, то 'Гость'

Оператор switch

<?php $day = "monday"; switch ($day) { case "monday": echo "Начало рабочей недели"; break; case "friday": echo "Конец рабочей недели"; break; case "saturday": case "sunday": echo "Выходные дни"; break; default: echo "Обычный рабочий день"; break; }

Циклы

Цикл for

<?php // Базовый for цикл for ($i = 0; $i < 5; $i++) { echo "Итерация: $i<br>"; } // For с несколькими переменными for ($i = 0, $j = 10; $i < 10; $i++, $j--) { echo "i: $i, j: $j<br>"; } // Бесконечный цикл (с условием выхода) for ($i = 0; ; $i++) { if ($i > 10) { break; } echo $i . " "; }

Цикл foreach

<?php // Для индексированных массивов $fruits = ["apple", "banana", "orange"]; foreach ($fruits as $fruit) { echo $fruit . " "; } // Результат: apple banana orange // Для ассоциативных массивов $user = [ "name" => "John", "age" => 30, "city" => "Moscow" ]; foreach ($user as $key => $value) { echo "$key: $value<br>"; } // Ссылочная переменная (изменение исходного массива) $numbers = [1, 2, 3]; foreach ($numbers as &$number) { $number *= 2; } // $numbers теперь [2, 4, 6]

Цикл while

<?php // While - проверка условия перед выполнением $count = 0; while ($count < 5) { echo "Счетчик: $count<br>"; $count++; } // While с массивом $fruits = ["apple", "banana", "orange"]; while ($fruit = array_shift($fruits)) { echo "Фрукт: $fruit<br>"; }

Цикл do-while

<?php // Do-while - выполнение перед проверкой условия $count = 0; do { echo "Счетчик: $count<br>"; $count++; } while ($count < 5); // Гарантированное выполнение хотя бы один раз $attempts = 0; do { $attempts++; echo "Попытка: $attempts<br>"; } while (false); // выполнится один раз, несмотря на false

Функции работы с массивами

Создание и модификация массивов

<?php // Создание массива $array = array(1, 2, 3); $short = [1, 2, 3]; // короткий синтаксис // Добавление элементов $array[] = 4; // [1, 2, 3, 4] array_push($array, 5, 6); // [1, 2, 3, 4, 5, 6] // Удаление элементов $last = array_pop($array); // удаляет последний элемент $first = array_shift($array); // удаляет первый элемент

Поиск и фильтрация массивов

<?php $numbers = [1, 2, 3, 4, 5]; // Поиск в массиве $key = array_search(3, $numbers); // возвращает ключ 2 $exists = in_array(3, $numbers); // возвращает true // Фильтрация $even = array_filter($numbers, function($n) { return $n % 2 == 0; }); // [2, 4] // Преобразование $squared = array_map(function($n) { return $n * $n; }, $numbers); // [1, 4, 9, 16, 25]

Сортировка массивов

<?php $numbers = [3, 1, 4, 1, 5, 9, 2]; $fruits = ["banana", "apple", "orange"]; // Сортировка sort($numbers); // [1, 1, 2, 3, 4, 5, 9] rsort($fruits); // ["orange", "banana", "apple"] // Ассоциативная сортировка $ages = ["John" => 25, "Jane" => 30, "Bob" => 20]; asort($ages); // сортировка по значениям ksort($ages); // сортировка по ключам
25 ноября 2025