пример
Разобрать строку:
<?php
$str = "age:30 weight:60kg";
sscanf($str,"age:%d weight:%dkg",$age,$weight);
// show types and values
var_dump($age,$weight);
?>
Выполнить пример » sscanf() функция анализирует входные данные из строки в соответствии с заданным форматом. sscanf() функция анализирует строку в переменные на основании строки формата.
Если только два параметра передаются в эту функцию, данные будут возвращены в виде массива. В противном случае, если передаются необязательные параметры, данные разобранные сохраняются в них. Если есть больше, чем спецификаторов переменных, содержащих их, возникает ошибка. Однако, если есть меньше спецификаторов, чем переменные, то лишние переменные содержат NULL.
Связанные функции:
- printf() - выводит отформатированную строку
- sprintf() - записывает отформатированную строку в переменную
Синтаксис
sscanf( string,format,arg1,arg2,arg++ )
параметр | Описание |
---|---|
string | Необходимые. Задает строку для чтения |
format | Необходимые. Определяет формат для использования. Возможные значения формата:
Дополнительные значения формата. Они размещаются между% и буквой (example %.2f) , (example %.2f) :
Note: Если используется несколько дополнительных значений формата, они должны быть в том же порядке , как указано выше. |
arg1 | Необязательный. Первая переменная для хранения данных в |
arg2 | Необязательный. Вторая переменная для хранения данных в |
arg++ | Необязательный. Третий, четвертый и так далее, чтобы хранить данные в |
Технические подробности
Возвращаемое значение: | Если только два параметра передаются в эту функцию, данные будут возвращены в виде массива. В противном случае, если передаются необязательные параметры, данные разобранные сохраняются в них. Если есть больше, чем спецификаторов переменных, содержащих их, возникает ошибка. Однако, если есть меньше спецификаторов, чем переменные, то лишние переменные содержат NULL. |
---|---|
PHP версии: | 4.0.1+ |
Еще примеры
Пример 1
Использование значений формата% S,% d и% C:
<?php
$str = "If you divide 4 by 2 you'll get 2";
$format = sscanf($str,"%s
%s %s %d %s %d %s %s %c");
print_r($format);
?>
Выполнить пример » <String Reference PHP