Остановить вывод HTML после возврата PHP

У меня есть функция, которая возвращает два значения, основанные на условиях, на странице, которую вызывает массив функций, есть html, ниже которого выводится на экран:

function submitMessage($user) {
if (!$user) {
$a = "Message A";
$b = "Message B";
return array($a, $b);
}
else {
$a = "Message C";
$b = "Message D";
return array($a, $b);
}

На странице:

$message = submitMessage($username);

<div class="r-box box-shadow">
  <h4 class="text-center weight-700"><?php echo $message[0];?></h4>
    <p><?php echo $message[1];?></p>
</div>
//more html below etc

Я хочу, чтобы выходные данные html остановились после того, что возвращается из первой части IF statement.
Что-то вроде:

function submitMessage($user) {
if (!$user) {
$a = "Message A";
$b = "Message B";
return array($a, $b);
exit();
//would like the output to stop if this is met.
}
else {
$a = "Message C";
$b = "Message D";
return array($a, $b);
}

Я попытался добавить выход, как выше, но HTML по-прежнему отправляется на экран. Можно ли остановить вывод HTML, если выполняется первая часть?

2 ответа

  1. <div class="r-box box-shadow">
      <h4 class="text-center weight-700"><?php echo $message[0];?></h4>
      <p><?php echo $message[1];?></p>
    </div>
    <?php  // if $message[1] is defined and not empty, exit
      if ((isset($message[1])) && (!empty($message[1]))){die();} ?>
    
    //more html below etc
    
  2. Я не уверен, правильно ли я понимаю вас, но для такого рода вещей вы можете использовать
    Альтернативный синтаксис PHP для структур управления
    Другой альтернативой этому было бы использование буферизации вывода, если вам нужно полностью остановить вывод.
    Функция submitMessageвозвращается до достижения exit();детали, поэтому выход никогда не выполняется. С другой стороны, если он выполнит ваш, после этого не будет никаких выходных данных, потому что сервер просто прекратит выполнение сценария.

    Альтернативой sintax будет что-то вроде этого

    $message = submitMessage($username);
    <?php if (!$user): ?>
    <div class="r-box box-shadow">
    <h4 class="text-center weight-700"><?php echo $message[0];?></h4>
    <p><?php echo $message[1];?></p>
    </div>
    <?php else: ?>
    some other html here
    <?php endif; ?>