<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 2.0

PHP и MySQL с Нуля до Гуру 2.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 11 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

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

Почти к каждому уроку идут упражнения.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

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

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

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

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

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

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

Функция sscanf в PHP

Функция sscanf в PHP

В предыдущей статье мы разобрали функции форматного вывода. Так вот, имеется и обратная функция, которая называется sscanf(). И именно о функции sscanf() в PHP я сейчас и расскажу.

Эта функция, как я уже писал, полная противоположность функциям printf() и sprintf(). У функции sprintf() 2 обязательных аргумента:

  1. $str - строка, которую необходимо обработать.
  2. $format - строка с форматом. Этот формат абсолютно идентичен формату в функции printf().

Если указывать дополнительные параметры, то все полученные значения будут помещены в эти переданные переменные. Если их не указывать, то будет возвращён массив.

Давайте разберём пример из предыдущей статьи, но дополнив его и обратными действиями:

<?php
  $year = 2012;
  $month = 9;
  $str = sprintf("Дата написания статьи: %02d.%02d.%04d", $day, $month, $year);
  $array = sscanf($str, "Дата написания статьи: %02d.%02d.%04d");
  print_r($array);
  sscanf($str, "Дата написания статьи: %02d.%02d.%04d", $day, $month, $year);
  echo "<br />$day.$month.$year";
?>

В данном примере мы сначала получили строку $str, согласно требуемому формату. Дальше мы, используя функцию sscanf(), получили обратно все значения переменных в виде массива. А после мы вызвали эту же функцию sscanf(), но с дополнительными аргументами, названиями переменных, в которые нам требовалось поместить значения. Затем мы полученные значения также вывели.

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

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

cyber93 cyber93 02.10.2012 23:48:15

Михаил посоветуй хорошую литературу, по личному опыту. Только честно, какая лично тебе понравилась. И ещё один важный вопрос. Много ли ты уделяешь времени на изучение веб-программирования в день ( хотя бы среднее значение). Ответь пожалуйста!

Ответить

sanda sanda 26.03.2014 10:29:54

В статье ошибка: у функции sprintf 2 обязательных параметра... Статья ведь про функцию sscanf. Вот и надо - у функции sscanf...

Ответить

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