📚
#54 07.10.2025 PHP Basics

Расскажите об использовании символа : (одиночное двоеточие) в PHP.

: в PHP используется для: альтернативного синтаксиса (if: ... endif), объявления возвращаемых типов (function(): type), тернарного оператора (a ? b : c).

Подробнее
⚠️
Внимание! Этот текст был сгенерирован AI-ассистентом. Информация может содержать неточности и требует проверки.

Полный ответ:

1. Альтернативный синтаксис для управляющих структур

Используется в альтернативном синтаксисе для if, while, for, foreach, switch вместо фигурных скобок {}.

<?php if ($isLoggedIn): ?>
    <h1>Welcome, <?= $username ?></h1>
<?php else: ?>
    <h1>Please log in</h1>
<?php endif; ?>

<?php foreach ($users as $user): ?>
    <li><?= $user['name'] ?></li>
<?php endforeach; ?>

<?php switch ($status): ?>
    <?php case 'active': ?>
        <span class="active">Active</span>
    <?php case 'inactive': ?>
        <span class="inactive">Inactive</span>
<?php endswitch; ?>

2. Объявление возвращаемого типа

С PHP 7.0 двоеточие используется для объявления возвращаемого типа функций и методов.

function calculateSum(int $a, int $b): int {
    return $a + $b;
}

class Calculator {
    public function multiply(float $x, float $y): float {
        return $x * $y;
    }
}

С PHP 8.0 для union types и возвращаемых типов.

function parseValue(string $input): int|float {
    return is_numeric($input) ? (float)$input : (int)$input;
}

function findUser(int $id): User|null {
    // возвращает User или null
}

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

Разделяет условие и значения в тернарном операторе.

$status = $isActive ? 'active' : 'inactive';
$accessLevel = $user->isAdmin() ? 'admin' : ($user->isModerator() ? 'moderator' : 'user');

4. В синтаксисе goto

Разделяет метку и код в операторе goto (редко используется).

start:
    echo "Hello";
    if ($condition) {
        goto start;
    }

Итог:

Одиночное двоеточие : в PHP — многофункциональный символ с несколькими ключевыми ролями:

  1. Альтернативный синтаксис для управляющих структур (if: ... endif)
  2. Объявление возвращаемых типов (function(): type)
  3. Разделитель в тернарном операторе (condition ? true : false)

Понимание контекста использования : критически важно для чтения современного PHP-кода, особенно с учетом широкого использования типизации и альтернативного синтаксиса в шаблонах.