Home Backend Development PHP Tutorial PHP parses strings into variables based on the format string function sscanf()

PHP parses strings into variables based on the format string function sscanf()

Nov 03, 2017 am 09:54 AM
php string Format

Example

Parse a string:

<?php
$str = "age:30 weight:60kg";
sscanf($str,"age:%d weight:%dkg",$age,$weight);
// show types and values
var_dump($age,$weight);
?>
Copy after login

sscanf() function parses input from a string according to the specified format. The sscanf() function parses a string into a variable based on a format string.

If only two parameters are passed to this function, the data will be returned in the form of an array. Otherwise, if additional parameters are passed, the parsed data will be stored in these parameters. If the number of separators is greater than the number of variables containing them, an error occurs. However, if the number of separators is less than the number of variables that contain them, the extra variables contain NULL.

Related functions:

Syntax

sscanf(string,format,arg1,arg2,arg++)
Copy after login
arg1Optional. The first variable to store data. arg2Optional. A second variable to store the data. arg++Optional. The third and fourth variables that store data. So on and so forth.

技术细节

Parameters Description
stringRequired. Specifies the string to be read.
formatRequired. Specifies the format to be used.

Possible format values:

  • %% - Returns a percent sign %

  • %c - The character corresponding to the ASCII value

  • %d - Decimal number with sign (negative, 0, positive)

  • %e - Use lowercase scientific notation (For example, 1.2e+2)

  • ##%u - Decimal number without sign (greater than or equal to 0)

  • %f - Floating point number

  • %o - Octal number

  • %s - String

  • %x - Hexadecimal number (lower case letters)

  • %X - Hexadecimal number (upper case letters)

Additional format value . Must be placed between % and a letter (e.g. %.2f):

  • + (Add + or - in front of a number to define the sign of the number. By default, only Negative numbers are marked, positive numbers are not marked)

  • ' (Specifies what to use as padding, the default is spaces. It must be used with the width specifier. For example: %'x20s ( Use "x" as padding))

  • - (Adjust the variable value left)

  • [0-9] (Specify the minimum variable value Width)

  • .[0-9] (Specifies the number of decimal places or the maximum string length)

Comments : If multiple above format values ​​are used, they must be used in the order above and cannot be disrupted.

返回值:如果只向该函数传递两个参数,数据将以数组的形式返回。否则,如果传递了额外的参数,那么被解析的数据会存储在这些参数中。如果区分符的数目大于包含它们的变量的数目,则会发生错误。不过,如果区分符的数目小于包含它们的变量的数目,则额外的变量包含 NULL。
PHP 版本:4.0.1+

更多实例

实例 1

使用格式值 %s、%d 和 %c:

<?php
$str = "If you divide 4 by 2 you&#39;ll get 2";
$format = sscanf($str,"%s %s %s %d %s %d %s %s %c");
print_r($format);
?>
Copy after login

sscanf() 的作用:从一个字符串中读进与指定格式相符的数据.

原型: int sscanf (const char *str,const char * format,........);

说明: sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。转换后的结果存于对应的参数内。

成功则返回参数数目,失败则返回0。

注意:sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。

大家都知道sscanf是一个很好用的函数,利用它可以从字符串中取出整数、浮点数和字符串等等。它的使用方法简单,特别对于整数和浮点数来说。

这里就举几个经常用到的例子来说明他的用法,便于大家深刻理解他的用法.

例子:

#include<stdio.h>  
#include<stdlib.h>  
#include<string.h>  
  
int main(){  
    char str[100];  
    //用法一:取指定长度的字符串  
    sscanf("12345","%4s",str);  
    printf("用法一\nstr = %s\n",str);  
  
    //用法二:格式化时间  
    int year,month,day,hour,minute,second;  
    sscanf("2013/02/13 14:55:34","%d/%d/%d %d:%d:%d",&year,&month,&day,&hour,&minute,&second);  
    printf("用法二\ntime = %d-%d-%d %d:%d:%d\n",year,month,day,hour,minute,second);  
  
    //用法三:读入字符串  
    sscanf("12345","%s",str);  
    printf("用法三\nstr = %s\n",str);  
  
    //用法四:%*d 和 %*s 加了星号 (*) 表示跳过此数据不读入. (也就是不把此数据读入参数中)  
    sscanf("12345acc","%*d%s",str);  
    printf("用法四\nstr = %s\n",str);  
  
    //用法五:取到指定字符为止的字符串。如在下例中,取遇到&#39;+&#39;为止字符串。  
    sscanf("12345+acc","%[^+]",str);  
    printf("用法五\nstr = %s\n",str);  
  
    //用法六:取到指定字符集为止的字符串。如在下例中,取遇到小写字母为止的字符串。  
    sscanf("12345+acc121","%[^a-z]",str);  
    printf("用法六\nstr = %s\n",str);  
    return 0;  
}
Copy after login

PHP parses strings into variables based on the format string function sscanf()

The above is the detailed content of PHP parses strings into variables based on the format string function sscanf(). For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

7 PHP Functions I Regret I Didn't Know Before 7 PHP Functions I Regret I Didn't Know Before Nov 13, 2024 am 09:42 AM

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

See all articles