<MyRusakov.ru />

Создание движка на PHP и MySQL 2.0

Создание движка на PHP и MySQL 2.0

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC.

В курсе разобрана вся теория по структуре движка: как всё устроено, какие должны быть объекты, какая у них иерархия и как они взаимодействуют между собой.

В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Функции форматного вывода в PHP

Функции форматного вывода в PHP

Для форматного вывода в PHP используются две замечательных функции: printf() и sprintf(). У них достаточно много возможностей, которые мы обсудим в этой статье.

Сразу скажу, что разница между printf() и sprintf() лишь в том, что первая выводит строку сразу в выходной поток (например, в браузер), а вторая возвращает её.

Параметр функции - это строка, которая имеет символы с %, называемые спецификаторами, и символы без %, называемых директивами. Директивы остаются неизменными при форматировании, а вот спецификатор приводит к подстановке других параметров функций (следующих за строкой с форматом).

Всего имеется несколько спецификаторов, которые объединяются в одну группу (один общий %), порядок которых следующий:

  1. Спецификатор заполнения. Позволяет заполнить строку до заданного размера конкретным символом. По умолчанию этим символом является пробел.
  2. Спецификатор выравнивания. Данный спецификатор позволяет задать выравнивание строки по правому краю (по умолчанию), либо по левому краю (если указать "-").
  3. Спецификатор минимальной ширины. Если результат будет иметь меньшую длину строки, то она будет заполнена символами из спецификатора заполнения до указанной ширины.
  4. Спецификатор точности. Позволяет указать, какое количество знаков после запятой оставить у числа с плавающей точкой.
  5. Спецификатор типа. Этот спецификатор указывает тип выводимых данных. Их там 8 штук, но на практике используются следующие:
    • d - целое число в десятичном виде.
    • f - число с плавающей точкой в десятичном виде.
    • s - строка.

Давайте разберём классический пример по выводу отформатированной даты:

<?php
  $year = 2012;
  $month = 9;
  $day = 28;
  printf("Дата написания статьи: %02d.%02d.%04d", $day, $month, $year);
?>

Нетрудно догадаться, что в результате будет выведена такая строка: "Дата написания статьи: 28.09.2012". Обратите внимание, сколько групп спецификаторов, столько и параметров передаётся помимо самого формата. Строка "Дата написания статьи: " является директивой, и она остаётся без изменений. Теперь разберём для примера вторую группу спефикаторов, которая отвечает за месяц. Другие группы абсолютно идентичны.

  • % - начало группы спецификатора.
  • 0 - символ, которым заданный параметр будет заполняться до требуемой ширины.
  • 2 - минимальная ширина. Соответственно, если длина строки меньше, то она будет заполнена 0.
  • d - выводиться будет как целое число. Если поставить, например, b (ещё один спецификатор типа), то выведится это же число, но в двоичной форме.

Приведу ещё один популярный пример использования функции printf (и sprintf()), связанный с окргулением чисел:

<?php
  $x = 12.596123;
  printf("%06.2f", $x); // Будет выведено "012.60"
?>

Давайте разберём первый аргумент функции printf():

  • % - начало группы спецификатора.
  • 0 - символ заполнения до требуемой длины.
  • 6 - требуемая длина (точка, безусловно, также входит в эту длину).
  • .2 - точность до 2-х знаков после запятой.
  • f - тип чисел с плавающей точкой. Собственно, округление имеет смысл только для этого типа.

Как видите, функции printf() и sprintf() позволяют легко решать, на первый взгляд, достаточно сложные задачи. Поэтому Вам обязательно нужно иметь их в своём арсенале.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (5):

fabrigas201 fabrigas201 28.09.2012 10:18:19

возможснотей - возможностей

Ответить

Admin Admin 28.09.2012 15:23:05

Спасибо, исправил!

Ответить

lev_100rus lev_100rus 28.09.2012 16:58:44

У вас ошибка в этой строке: 0 - символ, которым заданный параметр будет заполняться до требуемый ширины. Нужно написать ТРЕБУЕМОЙ ШИРИНЫ

Ответить

Admin Admin 29.09.2012 10:11:11

Всё исправлено, спасибо!

Ответить

sanda sanda 26.03.2014 10:32:06

Ошибка: символы без %, называемых директивами. Нужно - называемые директивами

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.