условный оператор — Другой угол на Как написать HTML-код внутри php?

Мы пишем код PHP внутри кода HTML через <?php ... ?> теги. Поэтому обычно не имеет смысла писать HTML-код внутри PHP-кода, который уже находится внутри HTML-кода, если вы можете просто выйти из PHP для нужных вам строк. Но что, если вам нужен код HTML в той же строке, что и код PHP?

Мой пример будет выглядеть так:

<div>
<?php ($bool) ? <script>...</script> : <script></script> ?>
</div>

Это:

<div>
<?php if($bool): ?>
<script>...</script>
<?php else: ?>
<script>...</script>
<?php endif; ?>
</div>

единственный способ?

Замечания: вместо <script> ты мог бы иметь <h1>, <strong>, <title> или любой другой «однострочник».

Заранее спасибо.

1

Решение

Конечно, альтернативный синтаксис был бы способом, когда у вас есть несколько строк HTML, как вы уже заявили …

Тем не менее, для одного лайнера, вы можете сократить <?php echo '...' ?> с <?= '...' ?> и заверните HTML в одинарных или двойных кавычках, в зависимости от того, используете ли вы уже двойные кавычки в HTML синтаксис. Вы также можете избежать их, если хотите, но это было бы грязно.

<div>
<?= ($bool) ? "<script>...</script>" : "<script></script>" ?>
</div>
1

Другие решения

Чтобы напечатать любую строку в ваш HTML-код из фрагментов PHP, используйте функцию echo.

http://php.net/manual/en/function.echo.php

1

Так что вам просто нужно добавить эхо

<div>
<?php
if($bool) {
echo '<script>...</script>';
} else {
echo '<script>...</script>';
} ?>

1