PHP foreach — показывать разрывы строк в исходном коде

#php #foreach

#php #foreach

Вопрос:

В настоящее время я использую приведенный ниже PHP foreach код. Когда я просматриваю исходный код, это гигантский блок элементов списка.

Мой вопрос в том, как я могу отредактировать это, чтобы каждый элемент списка в исходном коде находился в отдельной строке для упрощения отладки?

 foreach($xml->Event as $event) {
    echo '<li><a href="', $event->link, '">';
        echo '<strong>', $event->title, '</strong>';
        echo '<span>', $event->beginDate, ' at ', $event->beginTime, '</span>';
        echo $event->location;
    echo '</a></li>';
}
  

Ответ №1:

Вот так:

 foreach($xml->Event as $event) {
    echo '<li><a href="', $event->link, '">';
        echo '<strong>', $event->title, '</strong>';
        echo '<span>', $event->beginDate, ' at ', $event->beginTime, '</span>';
        echo $event->location;
    echo '</a></li>' . "n";
}
  

Просто добавьте . "n" к последней строке в вашем цикле.

Комментарии:

1. Следует отметить, что n должен быть заключен в двойные кавычки . Одинарная кавычка (она же апостроф) работать не будет.

Ответ №2:

Используйте новую строку ‘n’ или PHP_EOL в конце каждой строки

Ответ №3:

Попробуйте изменить последнюю строку, чтобы включить разрыв строки:

 echo '</a></li>' . PHP_EOL;
  

Комментарии:

1. Следует отметить, что PHP_EOL не обязательно использовать при выводе HTML-кода (поскольку это зависит от операционной системы, и разрывы строк могут отображаться должным образом на компьютере с Unix, но не на компьютере с Windows)

Ответ №4:

Добавьте все ваши строки либо "n" (убедитесь, что вы используете двойные кавычки), либо PHP_EOL .

 echo '</a></li>' . "n";
// or
echo '</a></li>' . PHP_EOL;
  

Ответ №5:

Используйте n .

 foreach($xml->Event as $event) {
    echo '<li><a href="', $event->link, '">' . "n";
        echo '<strong>', $event->title, '</strong>' . "n";
        echo '<span>', $event->beginDate, ' at ', $event->beginTime, '</span>' . "n";
        echo $event->location . "n";
    echo '</a></li> . "n"';
}
  

Ответ №6:

Я бы написал код следующим образом:

 <?php foreach($xml->Event as $event) { ?>
<li>
    <a href="<?php echo $event->link; ?>">
        <strong><?php echo $event->title; ?></strong>
        <span><?php echo $event->beginDate; ?> at <?php echo $event->beginTime; ?></span>
        <?php echo $event->location; ?>
    </a>
</li>
<?php } ?>
  

Комментарии:

1. спасибо за ваш ответ. Просто любопытно, приводит ли этот подход к повышению производительности? Или это просто более стандартный способ кодирования частей php?

2. @Ryan — Не знаю о разнице в производительности (вероятно, не о чем беспокоиться) или о том, является ли это более стандартным. Однако для меня это читается лучше. Я никогда не повторяю HTML.

Ответ №7:

Добавьте ‘ n’ в конце каждой строки, которую вы хотите разорвать.

 foreach($xml->Event as $event) {
    echo '<li><a href="', $event->link, '">n';
        echo '<strong>', $event->title, '</strong>n';
        echo '<span>', $event->beginDate, ' at ', $event->beginTime, '</span>n';
        echo $event->location;
    echo '</a></li>' . "n";
}
  

Комментарии:

1. Убедитесь, что вы отформатировали свой ответ таким образом, чтобы в markdown код имел отступ в виде блока.

2. Это не сработало бы так, как вы это написали. Только последний n будет работать должным образом, поскольку он в кавычках. Предыдущие печатали бы буквальную строку n из-за одинарных кавычек.