Когда вы используете PHP для ввода строки на страницу, большую часть времени вы будете использовать синтаксис echo, который возьмет следующую строку и отобразит эту строку в HTML.
Вы даже можете объединить несколько строк или переменных вместе для вывода с помощью синтаксиса echo.
Вот пример использования echo для вывода нескольких опций в поле выбора .
<?php $options = array( 'option1' => 'title1', 'option2' => 'title2', 'option3' => 'title3', 'option4' => 'title4', 'option5' => 'title5' ); echo ' <select>'; foreach($options as $key => $val) { echo ' <option value="'.$key.'">'.$val.'</option> '; } echo '</selected>'; ?>
Как вы можете видеть из синтаксиса эха, вы можете создать элемент HTML с помощью PHP. Этот код использует объединенную строку для вставки переменных в атрибут value и заголовок внутри тега option. Это довольно легко прочитать и хорошо использовать в обычной разработке, но что если вы использовали этот метод для отображения более сложного элемента с большим количеством атрибутов, таких как тег изображения.
Это создаст 5 тегов изображения, которые будут заполнять ряд различных атрибутов.
<?php $options = array( 'image1' => array('class' => 'style', 'alt' => 'Image 1', 'title' => 'Image 1', 'width' => '100', 'height' => '100', 'src' => 'http://www.example.com/image1.jpg'), 'image1' => array('class' => 'style', 'alt' => 'Image 2', 'title' => 'Image 2', 'width' => '200', 'height' => '200', 'src' => 'http://www.example.com/image2.jpg'), 'image1' => array('class' => 'style', 'alt' => 'Image 3', 'title' => 'Image 3', 'width' => '300', 'height' => '300', 'src' => 'http://www.example.com/image3.jpg'), 'image1' => array('class' => 'style', 'alt' => 'Image 4', 'title' => 'Image 4', 'width' => '400', 'height' => '400', 'src' => 'http://www.example.com/image4.jpg'), 'image1' => array('class' => 'style', 'alt' => 'Image 5', 'title' => 'Image 5', 'width' => '500', 'height' => '500', 'src' => 'http://www.example.com/image5.jpg'), ); foreach($options as $key => $val) { echo '<img class="'.$val["class"].'" alt="'.$val["alt"].'" title="'.$val["title"].'" width="'.$val["width"].'" height="'.$val["height"].'" src="'.$val["src"].'" />'; } ?>
На этот раз, если вы посмотрите на синтаксис echo для вывода тегов изображения, он не очень читабелен и может быть трудно определить, что мы объединяем для создания тега изображения, особенно с разными одинарными и двойными кавычками, становится действительно трудно читать ,
Решение состоит в том, чтобы PHP встроил функции sprintf () и printf () для создания форматированной строки для вывода в HTML.
Обе эти функции выполняют одно и то же, но printf () напрямую выводит строку, а функция sprintf () возвращает отформатированную строку.
Вот как это будет использоваться для отображения тега изображения.
Функция Printf () Отображение тега изображения
<?php $options = array( 'image1' => array('class' => 'style', 'alt' => 'Image 1', 'title' => 'Image 1', 'width' => '100', 'height' => '100', 'src' => 'http://www.example.com/image1.jpg'), 'image1' => array('class' => 'style', 'alt' => 'Image 2', 'title' => 'Image 2', 'width' => '200', 'height' => '200', 'src' => 'http://www.example.com/image2.jpg'), 'image1' => array('class' => 'style', 'alt' => 'Image 3', 'title' => 'Image 3', 'width' => '300', 'height' => '300', 'src' => 'http://www.example.com/image3.jpg'), 'image1' => array('class' => 'style', 'alt' => 'Image 4', 'title' => 'Image 4', 'width' => '400', 'height' => '400', 'src' => 'http://www.example.com/image4.jpg'), 'image1' => array('class' => 'style', 'alt' => 'Image 5', 'title' => 'Image 5', 'width' => '500', 'height' => '500', 'src' => 'http://www.example.com/image5.jpg'), ); foreach($options as $key => $val) { printf('<img class="%s" alt="%s" title="%s" width="%s" height="%s" src="%s" />', $val["class"], $val["alt"], $val["title"], $val["width"], $val["height"], $val["src"]); } ?>
Sprintf () Функция Отображение тега изображения
<?php $options = array( 'image1' => array('class' => 'style', 'alt' => 'Image 1', 'title' => 'Image 1', 'width' => '100', 'height' => '100', 'src' => 'http://www.example.com/image1.jpg'), 'image1' => array('class' => 'style', 'alt' => 'Image 2', 'title' => 'Image 2', 'width' => '200', 'height' => '200', 'src' => 'http://www.example.com/image2.jpg'), 'image1' => array('class' => 'style', 'alt' => 'Image 3', 'title' => 'Image 3', 'width' => '300', 'height' => '300', 'src' => 'http://www.example.com/image3.jpg'), 'image1' => array('class' => 'style', 'alt' => 'Image 4', 'title' => 'Image 4', 'width' => '400', 'height' => '400', 'src' => 'http://www.example.com/image4.jpg'), 'image1' => array('class' => 'style', 'alt' => 'Image 5', 'title' => 'Image 5', 'width' => '500', 'height' => '500', 'src' => 'http://www.example.com/image5.jpg'), ); foreach($options as $key => $val) { $image = sprintf('<img class="%s" alt="%s" title="%s" width="%s" height="%s" src="%s" />', $val["class"], $val["alt"], $val["title"], $val["width"], $val["height"], $val["src"]); echo $image; } ?>
Как вы можете видеть, использование функций printf () и sprintf () позволяет вам гораздо более читаемый код для вывода отформатированных строк.