Когда вы используете 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 () позволяет вам гораздо более читаемый код для вывода отформатированных строк.