Example
Parse a string:
html
<?php
$str = "age:30 weight:60kg";
sscanf($str,"age:%d weight:%dkg",$age,$weight);
// show types and values
var_dump($age,$weight);
?>
The sscanf() function parses input from a string according to a specified format. The sscanf() function parses a string into variables based on the format string.
If only two parameters are passed to this function, the data will be returned as an array. Otherwise, if optional parameters are passed, the data parsed are stored in them. If there are more specifiers than variables to contain them, an error occurs. However, if there are less specifiers than variables, the extra variables contain NULL.
Related functions:
- printf() - outputs a formatted string
- sprintf() - writes a formatted string to a variable
Syntax
text
sscanf(string,format,arg1,arg2,arg++)
Parameter Values
| Parameter | Description |
|---|---|
| string | Required. Specifies the string to read |
| format | Required. Specifies the format to use. Possible format values: %% - Returns a percent sign %c - The character according to the ASCII value %d - Signed decimal number (negative, zero or positive) %e - Scientific notation using a lowercase (e.g. 1.2e+2) %u - Unsigned decimal number (equal to or greather than zero) %f - Floating-point number %o - Octal number %s - String %x - Hexadecimal number (lowercase letters) %X - Hexadecimal number (uppercase letters) Additional format values. These are placed between the % and the letter (example %.2f): + (Forces both + and - in front of numbers. By default, only negative numbers are marked) ' (Specifies what to use as padding. Default is space. Must be used together with the width specifier. Example: %'x20s (this uses "x" as padding) - (Left-justifies the variable value) [0-9] (Specifies the minimum width held of to the variable value) .[0-9] (Specifies the number of decimal digits or maximum string length) Note: If multiple additional format values are used, they must be in the same order as above. |
| arg1 | Optional. The first variable to store data in |
| arg2 | Optional. The second variable to store data in |
| arg++ | Optional. The third, fourth, and so on, to store data in |
Technical Details
| Return Value: | If only two parameters are passed to this function, the data will be returned as an array. Otherwise, if optional parameters are passed, the data parsed are stored in them. If there are more specifiers than variables to contain them, an error occurs. However, if there are less specifiers than variables, the extra variables contain NULL. |
|---|---|
| PHP Version: | 4.0.1+ |
More Examples
Example
Using the format values %s, %d and %c:
html
<?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);
?>