A && B — если A = false, B не вычисляется (результат уже false)A || B — если A = true, B не вычисляется (результат уже true)// Безопасная проверка перед обращением
if ($user && $user->isAdmin()) { ... }
// Default value — если первое falsy, вернуть второе
$name = $input['name'] ?? 'Guest';
// Условное выполнение
$debug && error_log($message);
// Guard clause — остановить цепочку
$result = getData() || throw new NotFoundException();
Если второй операнд имеет побочный эффект (запрос к БД, запись в лог) — он не выполнится при short-circuit. Учитывайте это при проектировании условий.