Detailed explanation of sprintf function usage in PHP, detailed explanation of sprintf function_PHP tutorial

WBOY
Release: 2016-07-13 10:14:04
Original
1456 people have browsed it

Detailed explanation of sprintf function usage in PHP, detailed explanation of sprintf function

The example in this article describes the usage of sprintf function in PHP. Share it with everyone for your reference. The specific usage analysis is as follows:

The sprintf() function in PHP officially formats the string and outputs it. This article will introduce to you some experience sharing when learning the sprintf() function. I hope it can be helpful to everyone.

PHP function sprintf() The official definition of the function is: sprintf(): writes a formatted string into a variable

The syntax is: sprintf(format,arg1,arg2,arg++);

Parameters:

format: required, convert format

arg1: required, specifies the parameter inserted at the first % symbol in the format string

arg1: Optional, specifies the parameter

inserted at the second % symbol in the format string

arg1++: Optional, specifies the parameters inserted at the third, fourth, etc. % symbols in the format string

The conversion format of the parameter format starts with the percent sign (%) and ends with the conversion character. The following are possible format values.

%% – Returns the percent symbol

%b – binary number

%c – character

according to ASCII value

%d – signed decimal number

%e – Continuous counting method (e.g. 1.5e+3)

%u – unsigned decimal number

%f – floating point number (local settings aware)

%F – floating point number (not local settings aware)

%o – octal number

%s – string

%x – Hexadecimal number (lowercase letters)

%X – Hexadecimal number (capital letters)

Here are some demos, the code is as follows:

Copy code The code is as follows:
// 1. %%: Replace %% with %
$str = 'Test what the parameter %% will be replaced with';
echo sprintf($str);
//Return result: Test what the % parameter will be replaced with (%% is replaced with a %)

// 2. %b: This parameter can only replace integer data. If it is a floating point type, only the integer part will be taken, and the data after the decimal point will be ignored. If it is non-integer data. Return 0
$str = 'Parameter %b will be replaced with a binary number';
$arg = '10';
echo sprintf($str,$arg);
//Return result: parameter 1010 will be replaced with a binary number
$arg = 10.23;
echo sprintf($str,$arg);
//Return result: parameter 1010 will be replaced with a binary number
$arg = 'abc';
echo sprintf($str,$arg);
//Return result: parameter 0 will be replaced with a binary number

// 3. %c returns the ASCII code of the character encoding
$arg = 65;
$str = "The ASCII code corresponding to the number {$arg} is %c ";
echo sprintf($str,$arg);
//Return result: The ASCII code corresponding to the number 65 is A

// 4. %d replaces %d in a character with int type. The data requirements are the same as $b
$str = 'ID number is %d ';
$arg = -3;
echo sprintf($str,$arg);
//Return result: ID number is -3
$arg = 4.5;
echo sprintf($str,$arg);
//Return result: ID number is 4
$arg = 'abc';
echo sprintf($str,$arg);
//Return result: ID number is 0

// 5. %s - string
$str = "This is the sprintf string (%s) used for testing. I spent %f yuan today. There are %d stations from Bell Tower to Xiaozhai. Go to work";
$arg = '%s';
echo sprintf($str,$arg,6,5);
//Return result: This is the sprintf string (%s) used for testing. I spent 6.000000 yuan today. There are 5 stops from Bell Tower to Xiaozhai. Go to work


As for other parameters, you can try testing them.

Let’s talk about some uses of this function. For example, when we update multiple fields of all the data in a data table, if we use loop update, it will consume a lot of resources. Here we will use sprintf ( ) function.

When updating the database in batches, I usually use the syntax of case then when end. The basic syntax is as follows:

Copy code The code is as follows:
UPDATA table
SET field = CASE id
WHEN 1 THEN 'value1'
WHEN 2 THEN 'value2'
WHEN 3 THEN 'value3'
    END  
WHERE id IN (1,2,3)

What the above means is that, update the table and set the value of id = 1 to value1, the value of id = 2 to value2, and the value of id = 3 to value3. In this way, the function above the parameters will combine the sql statement into such a SQL statement. Only one SQL can be used for batch updates. The specific method is:
Copy code The code is as follows:
//For example, the value corresponding to id is the following array
$info = array(1=>'Zhang San',2=>'Li Si',3=>'Wang Wu');
$ids = implode(',',array_keys($info)) //Get all ID strings
//Combined SQL
$sql = "UPDATA user SET username = CASE id";
foreach($info as $id=>$username){
$sql .= sprintf("WHEN %d THEN %s",$id,$username);
}
$sql .= "END WHERE id IN ($ids)";
// $model->query($sql)

The above can complete the batch update operation, and the following where clause ensures that only 3 rows of data are executed.

I hope this article will be helpful to everyone’s PHP programming design.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/910604.htmlTechArticleDetailed explanation of the usage of sprintf function in PHP, detailed explanation of sprintf function. This article describes the usage of sprintf function in PHP. Share it with everyone for your reference. The specific usage analysis is as follows: sprintf() function...
Related labels:
php
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!