Основы языка PHP: синтаксис и практические примеры
Основные конструкции языка PHP
Как вывести текст в браузер?
Наиболее эффективный способ - использовать конструкцию echo. Она выводит одно или несколько значений.
<?php
echo 'Hello, World!';
?>Hello, World!
Какие альтернативы echo существуют?
Можно применять print, короткий тег <?= ?> и printf.
<?php
print 'Hello, World!';
?><?= 'Hello, World!' ?>Какие ошибки возникают при выводе?
Пропуск точки с запятой приводит к Parse error. Используйте всегда ; в конце инструкции.
Как объявить переменную и присвоить ей значение?
Переменные начинаются с $. Рекомендуется использовать declare(strict_types=1).
<?php
declare(strict_types=1);
$name = 'John';
$age = 25;
?>Какие варианты объявления существуют?
Константы define, const, переменные переменные ($$var).
define('SITE', 'MySite');
const VERSION = '1.0';Какие проблемы с переменными?
Обращение к необъявленной переменной (Warning). Используйте isset() для проверки.
Какие базовые типы данных поддерживает PHP?
int, float, string, bool, null, array, object.
$int = 42;
$float = 3.14;
$string = 'Привет';
$bool = true;
$null = null;
$array = [1, 2, 3];
$object = new stdClass();Менее распространённые типы?
resource, callable.
Ошибки с типами?
Автоматическое преобразование: '123abc' + 1 = 124. Используйте строгую типизацию.
Как использовать условный оператор if?
if с else и elseif.
$score = 85;
if ($score >= 90) {
echo 'Отлично';
} elseif ($score >= 75) {
echo 'Хорошо';
} else {
echo 'Попробуйте ещё';
}Альтернативы?
Альтернативный синтаксис с endif, тернарный оператор, объединение с null.
if ($a > $b):
echo 'a больше';
endif;
$result = ($a > $b) ? 'a больше' : 'b больше';
$name = $_GET['name'] ?? 'гость';Типичные ошибки?
if ($a = 5) - всегда истинно. Забытые скобки для нескольких операторов.
Как организовать цикл?
Цикл for.
for ($i = 1; $i <= 5; $i++) {
echo $i . ' ';
}1 2 3 4 5
Другие циклы?
while, do-while, foreach.
$i = 0;
while ($i < 3) {
echo $i++;
}
$colors = ['red', 'green', 'blue'];
foreach ($colors as $color) {
echo $color;
}Ошибки в циклах?
Бесконечный цикл, изменение массива внутри foreach.
Расширенные примеры PHP-кода
Рассмотрим несколько практических примеров, которые помогут закрепить основы.
Пример 1: Работа с ассоциативным массивом и array_map
<?php
$users = [
['name' => 'Иван', 'age' => 30],
['name' => 'Мария', 'age' => 25],
];
$names = array_map(function($user) {
return strtoupper($user['name']);
}, $users);
print_r($names);
?>Array
(
[0] => ИВАН
[1] => МАРИЯ
)Пример 2: Обработка данных из формы
<!-- form.html -->
<form method='post' action='process.php'>
<input type='text' name='username'>
<input type='submit' value='Отправить'>
</form>
<?php // process.php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = htmlspecialchars($_POST['username']);
echo 'Привет, ' . $username;
}
?>Привет, Иван
Пример 3: Пользовательская функция с типизацией
<?php
declare(strict_types=1);
function sum(int $a, int $b): string {
$result = $a + $b;
return 'Сумма равна ' . $result;
}
echo sum(5, 7);
?>Сумма равна 12
Пример 4: Чтение и запись файла
<?php
$filename = 'data.txt';
if (file_exists($filename)) {
$lines = file($filename, FILE_IGNORE_NEW_LINES);
foreach ($lines as $line) {
echo $line . '<br>';
}
} else {
echo 'Файл не найден';
}
?>Строка 1<br>Строка 2<br>Строка 3
Эти примеры демонстрируют типичные задачи и их решения.