Основы языка 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

Эти примеры демонстрируют типичные задачи и их решения.

Обучение PHP - comments

En
Php learning (php)